一、R方面
R中类型:向量(vector)、数据框、矩阵、列表
数据处理转换时:数值型num、因子(factor)、字符型等等
1)matrix
feature:
1、二维数组
2、每个元素必须有相同的数据类型
create:
matrix(vector, nrow = number_of_rows, ncol = number_of_columns, byrow = T/F)
对角矩阵:diag()
matrix(0,nrow = 4,nol = 4) diag(rep(1,4)) # 对角线为1,重复4次不循环
# rep函数, rep(vector x, ...)参数可为 each = ,x重复向量x的次数,times = 循环的次数,len = 输出长度
operate:
dim(): 行列数(维度) nrow():行 ncol():列 rownames():行名 colnames():列名 cbind():按列合并矩阵 rbind():按行合并矩阵
注意矩阵的乘法:A%*%B
矩阵的逆: solve(A)
exp: 行列重命名
rownames(xxx) = paste0("x_",1:4)
数据量增大时,计算特征值,逆等不方便,可使用R包提高效率 rARPACK---(大规模举证运算时使用)
- 特征值分解eigs()
- SVD分解svds()
特殊矩阵: 稀疏矩阵(数值为0的元素多于数值非0的元素)
应用场景:用户购买、社交网络
处理稀疏矩阵有相关包 Matrix
相关公式如下表:
2)data.frame
1、csv、txt文件读入时自动存储为数据框
2、data.frame(col1,col2,col3...)
operate: 汇总-变大-变小-变序-变形-数据透视
变大--merge(df1,df2,by)--合并数据框
变小--引用,筛选
汇总-- summary()str() able()
变大--merge(x, y , by ) 与 python pd.merge比较类似
变小--取行df[x,] 取列df$xx 区别python 有相关函数取loc,iloc,iat
变序-- 向量可直接用sort,而数据框用order( df$x, df$y , descring =T) 先按x排序在按y排序
变形--(数据重排)reshape2包中melt函数,宽表变窄表
..