我是R的新手,我在使用数据集上的stringr时遇到问题。我试图通过变量将数据与其中的单词“restaurant”进行子集化。我经常收到此错误消息。
str_detect(matrix(expandedDataFrame[1,12:21],1,
ncol(expandedDataFrame[,12:21])),"Restaurants")
Error: String must be an atomic vector
答案 0 :(得分:9)
您收到错误,因为str_detect
期望atomic
类型作为第一个参数。我想如果你使用as.matrix
而不是matrix
,你的代码就可以使用。
事实上:
is.atomic(matrix(data.frame(c=1:10,c1=5:1)))
[1] FALSE
> is.atomic(as.matrix(data.frame(c=1:10,c1=5:1)))
[1] TRUE
所以你的代码变成了:
str_detect(as.matrix(expandedDataFrame[1,12:21],1,
ncol(expandedDataFrame[,12:21])),"Restaurants")
但是既然你没有给出一个可重复的例子,这只是猜测......