r语言 - 斯皮尔曼相关检验:"Object not Found"



我已经使用R有一段时间了,并且已经用它来为我的硕士论文做所有的统计数据。在我完成论文之前,我还有一件事要做,我无法弄清楚为什么 R 给我这个代码。

我正在尝试运行斯皮尔曼的相关测试,并将 CSV 文件附加到 RStudio 中。这是我输入的代码,以及 R 给我的错误:

littersize=read.csv(file.choose())
littersize
cor.test(littersize, progesterone, method = "spearman")

cor.test.default(窝大小,孕酮,方法= "斯皮尔曼"(:未找到对象"黄体酮">

我以前有过这段代码,并且能够毫无问题地修复它,但由于某种原因它不起作用。我已经检查了拼写,检查了CSV文件是否有错误,我已经做了我能想到的一切。谁能帮我弄清楚R要我做什么???谢谢!

基于上面的代码(并且完全缺乏任何数据(很难说。

但是,您尚未将对象littersize附加到 rStudio 工作空间中。

您已工作环境中加载了一个数据框,为其分配了名称littersize

如果您使用

search()

您将看到您附加的所有内容的列表; 库,工具,您的GlobalEnv...如果"littersize"不在那里,它不依附。

这意味着您无法直接寻址其中的列。

因此,如果progesteronelittersize列,则必须使用可接受的方法之一来执行此操作:

littersize$progesterone

with(littersize, cor.test(progesterone, x, method="spearman"))

在这里,progesteronex是您要测试相关性的两个字段,如果您打算以这种方式解决相关性,这两个字段都应位于数据框littersize中。并且不清楚您是否在代码中有两个单独的字段要比较(一个名为littersize和一个progesterone,都在对象littersize中,还是您单独加载progesterone而不是说或者您是否关联了一个变量?

如果它们在不同的帧中,则必须明确地调用它们:

cor.test(littersize$progesterone, otherframe$x, method="spearman")

或者附加两个对象并使用search()进行验证并直接使用字段名称

如果实际上文件是littersize的,并且其中一列也是littersize的,那么使用附加的寻址可能会有问题,因为您将附加两个同名的对象,框架和列......在这种情况下,您应该明确要求带有$的列。

littersize$littersize

或者,您可以重命名附加的文件,并且需要分离littersize因为附加对象时不会发生对附加对象的更改。您只需添加具有新名称的第二个副本,而具有原始名称的原始副本仍然挥之不去,从而导致问题。

detach(littersize)

通常,最好不要附加文件,而是使用具有适当数据帧寻址的数据框。如果可以,请创建命名范例,以帮助避免冗余时出现问题,例如:

  • 数据框名称始终以大写字母开头Littersize
  • 字段/列/变量名称为小写,并带有点或下划线:litter_sizelittersizelitter.size

  • 环境中的对象始终使用 camelCase:litterSize

如果您在选择和使用名称的方式上保持一致,则可以在附加对象中使用冗余并对其进行处理,但最好还是使用数据框并完全避免这些问题。

相关内容

最新更新