R将列拆分为2而不更改其他列

时间:2014-05-30 10:26:20

标签: r strsplit

我有我的意见。我正在使用R.我想在R

中找到解决方案
    id       places         present   
   1234    |new|world|life   yes
   5111      
 2012222   |lamp             yes
 123333    |world11|ness     yes    

我想要输出

      id       places         present   
   1234        new            y9970s
   1234        world          7655s
   1234        life           54644s
   5111      
2012222        lamp           y777s
 123333        world11        y998s
 123333        ness           y99s

我试过了

dt <- data.table(input)
dt=dt[ , list( V3 = unlist( strsplit(as.character( V3),"\\|") ) ) , by = V1]

但是排除了第3列。即使我在这种情况下有多列,我将如何工作

1 个答案:

答案 0 :(得分:0)

使用data.table包的可能解决方案:

library(data.table)
dt <- data.table(df)
new.dt <- dt[,strsplit(as.character(places),"|",fixed=TRUE), by=list(id,present)]