R 数据操作笔记
tidy data 数据清理
merge 合并两份数据,将 na 缺失值置0
将10万行以上的数据写入文件
用R把超过10万行的数组writeLines写文件每次都在10万行左右截断,要用options设置max.print参数,然后writeLines才能全写完。。。
apply 系列函数
这个帖子总结的很清楚:A brief introduction to “apply” in R
函数 | 作用 |
---|---|
apply(m, 1, mean) | 按行求均值 |
apply(m, 2, mean) | 按列求均值 |
apply(m, 1:2, function(x) x/2) | 每个元素都除以2 |
by(iris[, 1:4], Species, mean) |
按Species分组,对iris的1-4列分别求均值【可想象成按班级分组,对4个科目的成绩分别求均值】 |
eapply(e, mean) | 对e的子元素如e$a,e$b求均值 |
lapply(l, mean) | 对l的子元素求如l$a,l$b求均值,返回与l等长的列表 |
sapply(l, mean) | 对l的子元素求如l$a,l$b求均值,返回vector |
vapply(l, fivenum, c(Min.=0, “1st Qu.”=0, Median=0, “3rd Qu.”=0, Max.=0)) | 对l的子元素求如l$a,l$b求fivnum,返回matrix,其中行为fixnum的key,列为子元素的key |
mapply(sum, l1$a, l1$b, l2$c, l2$d) | 按顺序求 sum(l1$a[i]+l1$b[i]+l2$c[i]+l2$d[i]) ,其中i从1取到length(l1$a),最终拼成一个list |
rapply(l, log2, how = “list”) | 对l$a,l$b 每个元素求log2,以list形式返回 |
rapply(l, mean, how = “list”) | 对l$a,l$b 求均值,以list形式返回 |
tapply(iris$Petal.Length, Species, mean) | 按Species分组,对Petal.Length求均值 |