R notes: first meeting with R

  1. R is easy. Half of Python half of Matlab.
  2. R最大的简便就是把各种统计概率机器学习功能都打包好了嘛

作业题改错:

One:

1
2
3
4
5
6
7
#确定观察值相对较少的站点
agg<-aggregate(Station,list(Station),length)
minStation<-agg[agg$x==min(agg$x),]
minStation
#生成一个忽略这些站点的新数据框
newisit<-isit[!Station %in% minStation[,1],]
newisit

newisit<-isit[!Station %in% minStation[,1],] instead of minStation[1,1]

To avoid more than one minStations. 我觉得老师就是在找茬,但是我的问题确实在于对那个%in%不熟悉。

Two:

1
2
3
4
5
6
7
8
9
Month<-c(rep(0,nrow(isit)))
Year<-c(rep(0,nrow(isit)))
newisit<-cbind(isit,Month,Year)
newisit$Month[newisit$Station>=1&newisit$Station<6]<-4
newisit$Month[newisit$Station>=6&newisit$Station<12]<-8
newisit$Year[newisit$Station>=1&newisit$Station<12]<-2001
newisit$Month[newisit$Station>=12&newisit$Station<16]<-3
newisit$Month[newisit$Station>=16&newisit$Station<20]<-10
newisit$Year[newisit$Station>=12&newisit$Station<20]<-2002

这个很讨厌。我一开始用for循环写的,没想太多;但老师说这样效率低,要我当场想出另一个方法,我当时一慌,没想出来。最后老师说可以先把空列跟原frame bind上,然后再根据Station条件来赋值嘛。很简单的点,给我扣分了,不大服气,唉。

我觉得使用R的基本思路:

  1. Read table or make table.
  2. Process datas.
  3. Draw plots.

开学后的正式课程里还是这位老师教我们数据分析,应用R。我还蛮期待的。