0
下面的列表是一个例子:使用grep结果 - 返回值
a.df<-data.frame(a1=c("A,B,C", NA, "A,B,C","",NA, "B,C"))
grep(pattern="B", x=a.df$a1, value=FALSE)
b<-sapply(X=a.df$a1, FUN=grep, pattern="B", value=FALSE)
a.df$b1<-b
看着a.df,你有这样的印象,这是一个“正常” data.frame
a.df
a1 b1
1 A,B,C 1
2 NA integer(0)
3 A,B,C 1
4 integer(0)
5 NA integer(0)
6 B,C 1
但是,当您详细查看$ b1时,可以看到值列表仍然存在。
a.df$b1
[[1]]
[1] 1
[[2]]
integer(0)
[[3]]
[1] 1
[[4]]
integer(0)
[[5]]
integer(0)
[[6]]
[1] 1
所以,当您尝试保存a.df
write.csv(a.df, file="a_df.csv")
您会收到以下错误:
Error in .External2(C_writetable, x, file, nrow(x), p, rnames, sep, eol, :
unimplemented type 'list' in 'EncodeElement'
的快捷方法的几点思考data.frame列来解决这个列表问题,将不胜感激?我想我只是在这里错过了一些基本的类型转换或类似的命令,但我似乎被卡在这里。