我有一个用逗号分隔的字符串的数据框:
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)
你有什么建议吗?非常感谢!