R中的高效批量处理函数(lapply sapply apply tapply mapply)
apply : 用于遍历数组中的行或列,并且使用指定函数来对其元素进行处理。
lapply : 遍历列表向量内的每个元素,并且使用指定函数来对其元素进行处理。返回列表向量。
sapply : 与lapply基本相同,只是对返回结果进行了简化,返回的是普通的向量。
mapply: 支持传入两个以上的列表。
tapply: 接入参数INDEX,对数据分组进行运算,就和SQL中的by group一样。
参考:R中的高效批量处理函数(lapply sapply apply tapply mapply)
这位博主的专栏总结得很详细:
R语言︱数据分组统计函数族——apply族用法与心得
R的数据操作与清洗
R语言排序(sort, rank, order)
sort(x)是对向量x进行排序,返回值排序后的数值向量。rank()是求秩的函数,它的返回值是这个向量中对应元素的“排名”。而order()的返回值是对应排名后的元素所在在的位置索引。
原文链接:R语言︱排序问题
R语言中的data.table
这是高级的data.frame,对于较大的数据集,处理效率更高。
R语言data.table速查手册
R︱高效数据操作——data.table包(实战心得、dplyr对比、key灵活用法、数据合并)
unique和duplicated
unique:返回的是去重后的向量或者dataframe等。
duplicated:返回的是逻辑结果,重复值为TRUE,不重复的是FALSE。
参考文章:R语言数据去重
cat 和 paste
基本语法:
cat(… , file ="", sep = " ", fill = FALSE, labels = NULL,
append = FALSE)
cat函数用于连接字符串并输出到文件,默认file为空直接输出;sep表示连接的分隔符,默认为一个空格;fill逻辑值,为FALSE只有显式地使用“\n”才会换行输出,为TRUE只要达到选择宽度即可换行;labels为行标签,只在fill = TRUE时有效,若设定的行数小于实际行数,则会循环使用。append逻辑值,为FALSE会覆盖之前的输出,否则在原来内容后添加新输出。
– 举例1:
连接字符串,此处A不会循环使用
cat("A", 1:4, sep= " ")
– 举例2:
换行输出到文件abc.txt,每行都有相应的行标签
cat(paste(letters, 100*1:26), file = "abc.txt", fill = T, labels = paste0("{",1:10, "}:"))
参考文章:【R语言】字符串处理