【发布时间】:2018-08-01 23:19:33
【问题描述】:
我在 R 中有以下数据帧,并尝试使用字符串拆分函数来生成不同的数据帧
DF
A B C
"1,2,3" "1,2"
"2" "1"
数据框的单元格填充有字符。空格是空白值。我创建了以下函数
sepfunc<-function(x){strsplit(as.character(x, split= ","))[[1]][1]}
当我在单列上使用该功能时,它可以很好地工作
sapply(DF$A, sepfunc)
[1] "1" "2"
但是,下面的命令只产生一行
sapply(DF, sepfunc)
A B C
"1" NA "1"
第二行不显示。我知道我一定遗漏了一些基本的东西。我请人帮忙。
预期的输出是
A B C
"1" NA "1"
"2" "1" "NA"
【问题讨论】:
-
您只是将
strsplit的第一个元素作为子集,即第一行带有[[1]]。不清楚你的预期。你想要什么输出 -
是的。但是即使我对第一个元素进行子集化,拆分也适用于单个列
标签: r function sapply strsplit