R Markdown文件不会编织

时间:2021-08-01 22:03:17

标签: r r-markdown

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

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

我该如何停止这个错误?我正在使用来自 GitHub 的分叉存储库,但我认为这与错误无关。此外,这只是不会编织的默认 RMarkdown 文件。

1 个答案:

答案 0 :(得分:0)

发生此错误是因为您尝试使用 $ 运算符对原子向量进行子集化。此 $ 运算符仅适用于 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,那么对象就是矩阵,你知道这个对象也可能是你的错误来源。