R 降价文件无法编织



我的R Markdown文件不会编织,即使它是默认文件。我总是得到错误:

错误:$操作符对原子向量无效停止执行

如何停止此错误?我正在使用GitHub的分叉库,但我不认为这与错误有任何关系。这只是默认的RMarkdown文件,它不会编织。

出现此错误是因为您试图使用$操作符对原子向量进行子集操作。这个$运算符只适用于listdata.frame对象。您可以使用如下代码重新创建此错误:

vec <- c('a' = 1, 'b' = 2, 'c' = 3)
vec$b
Error in vec$b : $ operator is invalid for atomic vectors

因此,要解决这个问题,您应该查找Rmarkdown文件中出现这个$操作符的每个部分。然后,尝试识别该操作符$所应用的对象,实际上是一个原子向量,或者说矩阵。您可以通过使用is.list()is.vector函数来做到这一点。例如,如果对象的名称是vec,您将执行以下操作来查看它是否是原子向量:

is.vector(vec) & !is.list(vec)
[1] TRUE

如果上面测试的结果是TRUE,那么该对象是一个原子向量,并且您知道该对象是您的错误的来源。但是如果结果是FALSE,那么您应该使用is.matrix()函数测试该对象是否实际上是一个矩阵:

is.matrix(vec)
[1] TRUE

如果上面测试的结果是TRUE,那么这个对象就是矩阵,你知道这个对象也可能是你的错误的来源。

最新更新