我有以下dataframe:
structure(list(A = c("1,2,3", "1,2", "1,4"), B = c("X,Y", "X",
"X"), ID = c(1, 2, 3), D = c(1, 2, 3)), class = "data.frame", row.names = c(NA,
-3L))
我尝试展开A和B,但创建了NA,这样就不会为列找到重复的值。所以列A和B应该“独立地”展开,就好像A和B的值不直接相关,它们只与ID和D相关
structure(list(A = c("1", "2", "3", "NA", "NA", "1", "2", "NA",
"1", "4", "NA"), B = c("NA", "NA", "NA", "X", "Y", "NA", "NA",
"X", "NA", "NA", "X"), ID = c(1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3
), D = c(1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3)), class = "data.frame", row.names = c(NA,
-11L))
以前关于扩展多个列的问题中,我没有找到类似的问题!
2条答案
按热度按时间slmsl1lt1#
这是一个非常不寻常的扩张。你可以单独处理每一列,然后将它们合并。例如
mqkwyuun2#
在基R中,在一个
Map
中,你可以strsplit
A 和 B,创建data.frame
s,其中有连续的 ids,你可以merge
,剩下的是cbind
。rbind
。