我已经使用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"
不在那里,它不依附。
这意味着您无法直接寻址其中的列。
因此,如果progesterone
是littersize
列,则必须使用可接受的方法之一来执行此操作:
littersize$progesterone
或
with(littersize, cor.test(progesterone, x, method="spearman"))
在这里,progesterone
和x
是您要测试相关性的两个字段,如果您打算以这种方式解决相关性,这两个字段都应位于数据框littersize
中。并且不清楚您是否在代码中有两个单独的字段要比较(一个名为littersize
和一个progesterone
,都在对象littersize
中,还是您单独加载progesterone
而不是说或者您是否关联了一个变量?
如果它们在不同的帧中,则必须明确地调用它们:
cor.test(littersize$progesterone, otherframe$x, method="spearman")
或者附加两个对象并使用search()
进行验证并直接使用字段名称
如果实际上文件是littersize
的,并且其中一列也是littersize
的,那么使用附加的寻址可能会有问题,因为您将附加两个同名的对象,框架和列......在这种情况下,您应该明确要求带有$
的列。
littersize$littersize
或者,您可以重命名附加的文件,并且需要分离littersize
因为附加对象时不会发生对附加对象的更改。您只需添加具有新名称的第二个副本,而具有原始名称的原始副本仍然挥之不去,从而导致问题。
detach(littersize)
通常,最好不要附加文件,而是使用具有适当数据帧寻址的数据框。如果可以,请创建命名范例,以帮助避免冗余时出现问题,例如:
- 数据框名称始终以大写字母开头
Littersize
-
字段/列/变量名称为小写,并带有点或下划线:
litter_size
或littersize
或litter.size
-
环境中的对象始终使用 camelCase:
litterSize
如果您在选择和使用名称的方式上保持一致,则可以在附加对象中使用冗余并对其进行处理,但最好还是使用数据框并完全避免这些问题。