【问题标题】:R error from a beginner: Can't knit, "same length as vector."初学者的 R 错误:无法编织,“与矢量长度相同”。
【发布时间】:2018-04-28 06:38:25
【问题描述】:

我是 R 的主要菜鸟,几乎不知道自己在做什么,我只是在课堂上使用 R,并且正在尝试编写作业,但是每当我这样做时,我都会不断收到以下信息:

名称错误(id.var)

它说这是第 97 行的问题,是这样的:

influencePlot(model2.lm, id.n=5, labels=newfile$iso3c)

这是一张图片:

【问题讨论】:

  • 这是否在常规的“R”会话中运行,而不是使用knitr?您能发布更多相关代码吗?
  • 错误信息很清楚。 lm 可能会删除任何具有NA 的术语(考虑查看str(model2.lm))。因此,您需要通过模型中存在NA 术语的任何数据来索引您提供给标签参数的向量。由于您没有提供可重复的示例,因此我无法提供答案,但我希望这能为您指明正确的方向。
  • 您应该告诉我们influencePlot 的来源(库调用),并且通常尝试创建minimal reproducible example

标签: r vector


【解决方案1】:

您正在尝试将标签分配给标签长度大于向量长度的向量。与以下内容相同:

id.var <- seq(1,133,1)
labels <- sprintf("abc[%s]",seq(1:155))

Error in names(id.var) <- labels : 
  'names' attribute [155] must be the same length as the vector [133]

【讨论】:

  • 而解决方案大概是使用labels = expand.model.frame(model2.lm, "iso3c")$iso3c
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-17
  • 2021-10-06
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多