【发布时间】:2018-10-08 12:49:42
【问题描述】:
我想创建一个包含两个新列的新数据框。
数据框将包括“扩展”v3,它是通过分解左侧v2 中以逗号分隔的值并创建两个新列,其中一个具有来自v1 的简单对应值,它们位于同一列中,第二个是来自v1 的值除以df 中相应行中包含并用逗号分隔的值的数量。
换句话说,如果像这个例子一样
> df[1,]
v1 v2
1 1 1,3
那么新的 df 将在前两行中包含以下新条目:
v1 v2_split v3
1 1 1 0.5
2 1 3 0.5
下面是一个可重现的例子:
v1 <- c(1,5,3,7,9,3,2,5,NA,7)
v2 <- c("1,3","2","0.05,4,6,7","0",NA,"6","7","10,11","9","0.1")
df <- data.frame(v1,v2)
df$v2 <- as.character(df$v2)
v2_split <- as.numeric(unlist(strsplit(df$v2,",")))
【问题讨论】:
-
不确定您希望多行案例(例如
v1 =3、5、7 在输出中的显示效果)如何。