例如,如果我有多行包含一句话,比如"I love dogs",并且我想在数据框中保持相同的行数,但有三列"I"love"dogs"在相应的列中。如何在字符串中的空格处拆分一个原始列?
我们可以使用strsplit
和do.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"