【发布时间】:2017-08-23 09:24:37
【问题描述】:
也许我想做的事情是不可能的,所以我提出这个问题是为了知道是否有办法。 在 stackoverflow 中阅读此question 后,我看到有一种方法可以将一列拆分为不同的列,但这不是我想要的,我有一个闪亮的应用程序,我可以有如下值的表:
Phones price
Nokia 1234D - J298 6732 - LM 2 103$
Samsung 3342L - J2YY 4372 - YU 3 130$
Samsung 3042X - IKAA 3221 - GN 4 102$
所以用户来说我想按我的意愿在列 Phones 中划分这些值,所以我想到的想法是让用户写类似 (" ", " - ", " ", " - ") 因为我的意思是在给定上述分隔符的情况下将 nokia, 1234D, J298, 6732, LM 2 分成 5 列。
示例代码如下:
library(stringr)
c=c(" "," - "," "," - ")
mytable <-data.table(Phones=c("Nokia 1234D - J298 6732 - LM 2",
"Samsung 3342L - J2YY 4372 - YU 3",
"Samsung 3042X - IKAA 3221 - GN 4"),price= c("103$", "130$", "102$") )
aux = str_split_fixed(mytable$Phones, c, 5)
mytable<-data.table( aux, mytable$price)
但我得到以下结果,这不是我想要的结果,它按需要分开,重复第一行。:
V1 V2 V3 V4 V5 V2
1: Nokia 1234D - J298 6732 - LM 2 103$
2: Samsung 3342L J2YY 4372 YU 3 130$
3: Samsung 3042X - IKAA 3221 - GN 4 102$
4: Nokia 1234D J298 6732 LM 2 103$
如果您有更好的解决方案,那将非常有帮助。
【问题讨论】: