r-如何将包含每行一个字符串的数据帧拆分为多列



例如,如果我有多行包含一句话,比如"I love dogs",并且我想在数据框中保持相同的行数,但有三列"I"love"dogs"在相应的列中。如何在字符串中的空格处拆分一个原始列?

我们可以使用strsplitdo.call

data <- "I love dogs"
do.call(rbind,strsplit(data," "))
#     [,1] [,2]   [,3]  
#[1,] "I"  "love" "dogs"

或者对于许多字符串。

data <- data.frame(love = c("I love dogs","I love cats","I love bears","I love dolphins","I love otters"),stringsAsFactors = FALSE)
do.call(rbind,strsplit(data$love," "))
#     [,1] [,2]   [,3]      
#[1,] "I"  "love" "dogs"    
#[2,] "I"  "love" "cats"    
#[3,] "I"  "love" "bears"   
#[4,] "I"  "love" "dolphins"
#[5,] "I"  "love" "otters"  

最新更新