1.以上为数据的一部分,如果想截取某列,应该如何操作呢?
在我输入了 column=data[,1]之后 console上显示为:object of type 'closure' is not subsettable 请问是什么意思?
我应该如何操作?
===============
data是R的保留字段,是一个显示数据的程序,没有另外定义前,不能用数组的操作法则。
read.csv("hw1_data.csv") 只是实现读入csv文件,并显示的功能。你需要将数据赋值给一个对象,如“Mydata”
Mydata<-read.csv("hw1_data.csv")
之后Mydata是一个R的对象(类型:数据框),输入ls()可以看到。这时才可subset:
输入 column=Mydata[,1]
===============
2.如果我需要求当Temp这一列的数值大于60时Ozone这一列的平均值(去除NA),该使用什么功能呢?Subset?
具体来说该如何操作呢?
===============
可以在mean程序中加入,na.rm=T
mean(Mydata[,1][Mydata[,4]>60],na.rm=T)
Mydata$Temp>60 返回一组T/F值,这种在[ ]中的逻辑操作,实现Subset很方便。
na.rm可以用于sum, mean以及其他一些操作。
===============
3.数据分割和选取的代码是 x[],这里我似乎不能使用类似于x[,1]来选取第一列,是因为x并不指代上面的数据么?
===============
完全可以的,x[,1] 可以选取第一列,如果知道列名如col1_name可以直接用x$col1_name.
数据框,矩阵,列表稍有不同。
这里有个入门文件:
https://bbs.pinggu.org/thread-2132491-1-1.html