R语言菜鸟提问。 有一个6*10的矩阵,算出每列的平均值后,若这个值大于50则表示为1,若小于5

Python020

R语言菜鸟提问。 有一个6*10的矩阵,算出每列的平均值后,若这个值大于50则表示为1,若小于5,第1张

先算每列的均值

meanMat<-matrix(1/6,1,6)%*%aMat

再算是不是大于50

largeMat<-meanMat>50

largeMat<-largeMat*1

另外你的replace写成relace了。

#把年份取出来,按10年分成一组

decade <- ceiling(Temp_m[1] / 10)

names(decade) <- "decade" 

#把分组信息合并成原数据

Temp_m <- cbind.data.frame(Temp_m, decade) 

#加载plyr包。

#把Temp_m这个数据框中除year列的数据外,按照decade分组分别把每列求算术平均值。

#并放在Temp_mean10数据框中。

#Temp_mean10含有decade信息,进行索引时需要注意。

library(plyr)

Temp_mean10 <- ddply(Temp_m[-1], .(decade), colwise(mean))

1、先在R中创建简单的矩阵,取名为my_matrix

2、现在对每一行进行求和,要使用到apply函数。apply族函数有很多,在平常的使用中,用到最多的就是tapply函数,第一个参数x是数据;第二个参数index是索引,就比如是分组的标准,第三个参数fun也就是要用到的函数。

3、对于tapply函数调用R本身自带的数据airquality,现在计算按照Month来分组,每一个Month中Solar.R的均值

4、上图中Month等于5和8时,Solar.R的均值为NA,这说明在原数据中存在NA的情况。而且在指定数据的时候比较麻烦,可以使用with函数来简化代码量

5、矩阵与矩阵之间的运算,比如加法,减法

6、矩阵相乘需要使用%*%符号

R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。