将字符串变量拆分为r中的许多变量

时间:2014-07-19 09:42:20

标签: r split

我想从1个varaibe中创建4个变量。

变量Var1 var2 var3 var4 室内装饰KCDF威尼斯米色人造革N / C室内装潢KCDF威尼斯米色人造革N / C 配件Z06 Black Kidney Grilles 173.00配件Z06 Black Kidney Grilles 173

或拆分“配件Z06 Black Kidney Grilles 173.00”这个 配件Z06 Black Kidney Grilles 173

4 个答案:

答案 0 :(得分:1)

由于您没有以我们可以复制的形式提供您的数据,因此我制作了一个模拟集:

> furn <- c("Upholstery KCDF", "Venetian Beige Leatherette N/C", "Upholstery KCDF", "Venetian Beige Leatherette N/C",  "Accessories Z06", "Black Kidney Grilles 173.00", "Accessories Z06", "Black Kidney Grilles 173")

然后,使用stringi包,您可以在空格处分隔单词,并将unlist结果作为向量分隔:

> require(string1)

> unlist(stri_split_regex(str = furn, pattern = " "))
 [1] "Upholstery"  "KCDF"        "Venetian"    "Beige"       "Leatherette" "N/C"         "Upholstery"  "KCDF"       
 [9] "Venetian"    "Beige"       "Leatherette" "N/C"         "Accessories" "Z06"         "Black"       "Kidney"     
[17] "Grilles"     "173.00"      "Accessories" "Z06"         "Black"       "Kidney"      "Grilles"     "173"   

答案 1 :(得分:0)

您正在寻找strsplit

split.var <- strsplit(my.var, " ")

但是,这将在所有空格中分割,因此您可能需要重新编码原始数据以使用其他分隔符。

答案 2 :(得分:0)

此示例将对您有所帮助。

library(base)
a<-"welcome to stack overflow"
b<-strsplit(a," ")
b<-unlist(b)
b1<-as.matrix(a)
a1<-b[1]
a2<-b[2]
a3<-b[3]
a4<-b[4]

答案 3 :(得分:0)

如果我理解你的问题:单个字符串应该在表格中格式化为:

bsxfun

现在,如果数据位于一个已删除的文件中,则函数 Variable Var1 var2 var3 var4 Upholstery KCDF Venetian Beige Leatherette N/C Upholstery KCDF Venetian Beige Leatherette N/C Accessories Z06 Black Kidney Grilles 173.00 Accessories Z06 Black Kidney Grilles 173 应该可以满足您的需要。

但是,如果数据是单个字符串,例如:

read.table

然后我们会遇到不同的问题,需要一个不同的解决方案。