更具体地说,假设我有一个名为”names”的字符向量,包含以下元素:
Names[1]<-"aaron, matt, patrick",Names[2]<-"jiah, ron, melissa, john, patrick"
依此类推……我有22956个这样的元素。我想将所有名字分开,并在Excel中为每个名字分配一个单独的列。我该怎么做?这需要进行文本挖掘。但我不确定该如何操作。
谢谢你。
回答:
我假设你有一组由逗号分隔的字符串元素,每组元素的数量不同。
Names <- c("aaron, matt, patrick", "jiah, ron, melissa, john, patrick")## get max number of elementsmm <- mm <- max(unlist(lapply(strsplit(Names,','),length)))## set all rows the same lengthlapply(strsplit(Names,','),function(x) {length(x) <- mm;x})## create a data frame with the data welle formattedres <- do.call(rbind,lapply(strsplit(Names,','),function(x) {length(x) <- mm;x}))## save the filewrite.csv(res,'output.csv')
我认为你也可以使用plyr包中的rbind.fill
,但你需要将每一行转换为data.frame
(这会有一定的成本)。