Zip*_*fer 2 string split r multiple-columns
我有一个用逗号分隔的字符串的数据框:
df <- data.frame(x = c("a,b,c", "a", "a,b"))
Run Code Online (Sandbox Code Playgroud)
我想将字符串拆分为单独的列,以产生3个新列。对于少于3个字符串的行,应在列中填充缺失值。
到目前为止,我尝试使用的strsplit命令是:
dfb <- strsplit(df, ",")
Run Code Online (Sandbox Code Playgroud)
返回错误:
非字符参数
我也尝试过单独使用,这将提供额外的“填充权”功能:
dfnew2 <- separate(df, c("X","Y"), sep = ",", fill = "right")
Run Code Online (Sandbox Code Playgroud)
这将返回错误:
var必须计算为单个数字或列名,而不是字符向量
我的预期结果应该是一个数据框,例如:
X Y Z
a b c
a n/a n/a
a b n/a
Run Code Online (Sandbox Code Playgroud)
你有什么建议吗?非常感谢!
用途read.table:
read.table(text = as.character(df$x), sep = ",", as.is = TRUE, fill = TRUE,
na.strings = "")
Run Code Online (Sandbox Code Playgroud)
给予:
V1 V2 V3
1 a b c
2 a <NA> <NA>
3 a b <NA>
Run Code Online (Sandbox Code Playgroud)