gpt4 book ai didi

r - 融化数据框和拆分值

转载 作者:行者123 更新时间:2023-12-04 10:30:16 25 4
gpt4 key购买 nike

我有以下数据框,其中测量值连接成一列,由一些分隔符分隔:

df <- data.frame(v1=c(1,2), v2=c("a;b;c", "d;e;f"))
df
v1 v2
1 1 a;b;c
2 2 d;e;f;g

我想将其融化/转换成以下格式:

     v1 v2
1 1 a
2 1 b
3 1 c
4 2 d
5 2 e
6 2 f
7 2 g

有没有优雅的解决方案?

谢谢!

最佳答案

您可以使用 strsplit 拆分字符串。

拆分第二列中的字符串:

splitted <- strsplit(as.character(df$v2), ";")

创建一个新的数据框:

data.frame(v1 = rep.int(df$v1, sapply(splitted, length)), v2 = unlist(splitted))

结果:

  v1 v2
1 1 a
2 1 b
3 1 c
4 2 d
5 2 e
6 2 f

关于r - 融化数据框和拆分值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13808553/

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