gpt4 book ai didi

r - 字符串拆分成重复的行

转载 作者:行者123 更新时间:2023-12-02 21:48:33 25 4
gpt4 key购买 nike

给定以下示例数据集:

col1 <- c("X1","X2","X3|X4|X5","X6|X7")
col2 <- c("5","8","1","4")
dat <- data.frame(col1,col2)

如何拆分 col1通过|并将它们作为单独的行输入,其中包含重复的 col2值(value)观?这是我想要最终得到的数据框:

col1 col2
X1 5
X2 8
X3 1
X4 1
X5 1
X6 4
X7 4

我需要一个可以容纳多个列的解决方案,类似于 col2也需要复制。

最佳答案

只需分割字符串,然后根据长度重复其他列即可。

y<-strsplit(as.character( dat[,1])  , "|", fixed=TRUE)
data.frame(col1= unlist(y), col2= rep(dat[,2], sapply(y, length)))
col1 col2
1 X1 5
2 X2 8
3 X3 1
4 X4 1
5 X5 1
6 X6 4
7 X7 4

如果您需要重复除第一列之外的许多列

data.frame(col1= unlist(y), dat[ rep(1:nrow(dat), sapply(y, length)) , -1 ] )

关于r - 字符串拆分成重复的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19102988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com