斯皮尔曼的相关测试:"未找到对象"

时间:2017-07-08 15:45:50

标签: r csv

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

我正在尝试进行Spearman相关测试,并将一个CSV文件附加到RStudio中。这是我输入的代码,以及R给我的错误:

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

cor.test.default出错(littersize,孕酮,方法=   " spearman"):对象'黄体酮'找不到

我之前已经获得了这些代码,并且能够在没有太多问题的情况下修复它,但由于某种原因它只是无法正常工作。我检查了拼写,我已经检查了CSV文件中的错误,我已经做了我能想到的一切。任何人都可以帮我弄清楚R要我做什么?谢谢!

1 个答案:

答案 0 :(得分:0)

基于上面的代码(并且完全没有任何数据),很难说。

但是,您将 未附加 对象littersize放入rStudio工作区。

已在您的工作环境中加载 数据框,并为其指定名称littersize

如果您使用

search()

你会看到你所附的一切清单;库,工具,您的GlobalEnv ... 如果 "littersize" 不在那里它没有附加。

这意味着您无法直接在其中处理列。

因此,如果progesteronelittersize的列,那么您必须使用其中一种可接受的方法:

littersize$progesterone

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

此处progesteronex是您要测试相关性的两个字段,如果您打算以这种方式解决这两个字段,则这两个字段应位于数据框littersize中。目前尚不清楚您的代码中是否有两个单独的字段要比较(一个名为littersize和一个progesterone,两者都在对象littersize中,或者您是否加载{{1}分开而不是说或你是否正在关联一个变量?)。

如果他们在不同的框架中,您必须明确地称他们为:

progesterone

或者附加两个对象并使用cor.test(littersize$progesterone, otherframe$x, method="spearman")进行验证并直接使用字段名称

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

$

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

littersize

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

  • 数据框名称始终以大写detach(littersize)
  • 开头
  • 字段/列/变量名称是小写的,点缀或下划线: Littersizelitter_sizelittersize

  • 环境中的对象始终使用camelCase:litter.size

如果您对如何选择和使用名称保持一致,那么您可以在附加对象中使用冗余并完成它,但是使用数据框并完全避免问题可能更好。