我是R的初学者.我正在参加Coursera R编程课程,我被困在一个作业(污染物意味着家庭作业).作业的目的是从csv文件中的列中获取方法.这些文件有四列.我们有300多个文件,每个文件有1000多个观察结果.他们中的大多数都是NA.在我正在使用的csv文件中,只有117个数字观察.我一直在尝试这样的东西:
cmydata1 <- read.csv("/Users/joshuavincent/Documents/specdata/001.csv")
Run Code Online (Sandbox Code Playgroud)
一旦我有cmydata1,我试图得到其中一个列的平均值,"硝酸盐",但我得到了这个:
> mean(cmydata1, "nitrate")
[1] NA
Warning message:
In mean.default(cmydata1, "nitrate") :
argument is not numeric or logical: returning NA
Run Code Online (Sandbox Code Playgroud)
为了解决这个问题,我创建了一个这样的新列表:
> cmydata2 <- list(na.omit(cmydata1))
> cmydata2[[1]]
Run Code Online (Sandbox Code Playgroud)
结果是清洁的矩阵,不再是NA
列名称为:"Date""sulfate""nitrate"和ID.
但是,我仍然无法得到平均值
> mean(cmydata2, "nitrate")
[1] NA
Warning message:
In mean.default(cmydata2, "nitrate") :
argument is not numeric or logical: returning NA
Run Code Online (Sandbox Code Playgroud)
我尝试修复它,所以我输入...并获得null
> colnames(cmydata2)
NULL
Run Code Online (Sandbox Code Playgroud)
那么,我可以修复什么来获得该列的平均值?(之后我觉得必须尝试循环和东西才能完成作业,但我会迈向宝贝的步骤)
请注意,这可能有所帮助:我在自动填充中有一个带有表格图标的cmydata1,而cmydata2有一些形状,看起来像一个organigram图标.
谢谢
r ×1