数据矩阵及R语言表示
> A = matrix(1 : 12, 3, 4)
> dim(A) #矩阵的维数
[1] 3 4
> ncol(A) #矩阵的列数
[1] 4
> rowSums(A) #矩阵按行求和
[1] 22 26 30
> rowMeans(A) #矩阵按行求均值
[1] 5.5 6.5 7.5
> colSums(A) #矩阵按列求和
[1] 6 15 24 33
> colMeans(A) #矩阵按列求均值
[1] 2 5 8 11
apply()函数
apply(X, MARGIN, FUN, …) 可以表示一类函数,其中X为矩阵,MARGIN为边界,即:行或列,FUN为函数
> A = matrix(1 : 12, 3, 4)
> apply(A, 1, sum) #矩阵按行求和
[1] 22 26 30
> apply(A, 1, mean) #矩阵按行求均值
[1] 5.5 6.5 7.5
> A = matrix(rnorm(100), 20, 5)
> apply(A, 2, var) #矩阵按列求方差
[1] 0.9268993 0.8370099 1.0354013 0.8810933 1.0509071
> B = matrix(1 : 12, 3, 4)
> apply(B, 2, function(x, a)x*a, a = 2) #矩阵按列求函数结果,这里是对矩阵每个元素求平方
[,1] [,2] [,3] [,4]
[1,] 2 8 14 20
[2,] 4 10 16 22
[3,] 6 12 18 24
数据框
数据框(data frame)是一种矩阵形式的数据,但数据框中各列可以是不同类型的数据。数据框每列是一个变量,每行是一个观测。
> x1 = c(171, 175, 159, 155, 152, 158)
> x2 = c(57, 64, 41, 38, 35, 44)
> X = data.frame(x1, x2); X
x1 x2
1 171 57
2 175 64
3 159 41
4 155 38
5 152 35
6 158 44
> X = data.frame('身高' = x1, '体重' = x2); X
身高 体重
1 171 57
2 175 64
3 159 41
4 155 38
5 152 35
6 158 44
如何在R语言中调用我们采集的数据?
从剪切板上读取(先将数据复制到剪切板)
#第一行是变量名
dat = read.table("clipboard", header = TURE)
#第一行不是变量名
dat = read.table("clipboard")
从文本文件读取
#第一行是变量名
dat = read.table("textdata.txt", header = TURE)
#第一行不是变量名
dat = read.table("textdata.txt")
读取CSV格式和excel格式
#读取CSV格式
X = read.csv("textdata.csv")
#读取excel格式
1.下载读取excel文件的包“readxl”
2.调用包:library(readxl)
具体处理例子见中国大学mooc《多元统计分析及R语言建模》暨南大学王斌会