工作笔记记录,会持续更新....
目录:
- apply
- tapply
- lapply
- sapply
- merge
- substr、substring、strsplit、unlist、paste、paste0、nchar
- table
apply函数:
- apply:apply的中文意思是应用,这个函数的意思是通过将一个函数应用到矩阵或数组中,返回一个向量或数组
- 语法:apply(X, MARGIN, FUN, ...) , 其中X为一个数组;MARGIN为一个向量(表示要将函数FUN应用到X的行还是列),1:表示取行,2:表示取列,c(1,2)表示行、列都计算。
- 示例:
View Code
tapply:
- tapply:是对向量中的数据进行分组处理,而非对整体数据进行处理
- 语法: tapply(X, INDEX, FUN = NULL, ..., simplify = TRUE),
- 其中X通常是一向量;
- INDEX是一个list对象,且该list中的每一个元素都是与X有同样长度的因子;
- FUN是需要计算的函数;
- simplify是逻辑变量,TRUE(默认值),且函数FUN的计算结果总是为一个标量值,那么函数tapply返回一个数组;若取值为FALSE,则函数tapply的返回值为一个list对象。需要注意的是,当第二个参数INDEX不是因子时,函数 tapply() 同样有效,因为必要时 R 会用 as.factor()把参数强制转换成因子
- 示例:
View Code
lapply:
- lapply: (list apply)针对list的apply函数
- 语法: lapply(X, FUN, ...) lapply的返回值是和一个和X有相同的长度的list对象,这个list对象中的每个元素是将函数FUN应用到X的每一个元素
- 示例:
View Code
- 结果:$shop_id [1] 2 $saled [1] 56.5 $takeout_cost [1] 45 $delivery_time [1] 15
sapply:
- sapply:sapply函数和Lapply函数类似,也是对List进行处理,只是在返回结果上,sapply会根据结果的数据类型和结构,重新构建一个合理的数据类型返回
- 语法:sapply(X, FUN,..., simplify = TRUE, USE.NAMES = TRUE)
- 示例:如上例,调用sapply函数返回结果为:
shop_id saled takeout_cost delivery_time 2.0 56.5 45.0 15.0
merge:
- merge: merge是R语言中用来合并数据框的函数
- 语法:merge(x, y, by = intersect(names(x), names(y)), by.x = by, by.y = by, all = FALSE, all.x = all, all.y = all, sort = TRUE, suffixes = c(".x",".y"), incomparables = NULL, ...)
- x,y:用于合并的两个数据框
- by.x,by.y:指定依据哪些行合并数据框,默认值为相同列名的列.
- all.x,all.y:指定x和y的行是否应该全在输出文件
- sort:by指定的列是否要排序
- suffixes:指定除by外相同列名的后缀
- incomparables:指定by中哪些单元不进行合并
- 示例代码:
View Code
substr、substring、strsplit、unlist、paste、paste0、nchar:
- substr、substring: 取子字符串
-
- substr(x,start,stop) : 必须指定开始和结束位置
- substring(text, first, last=1000000 ) :substring()可以不用指定结束位置,默认为1000000,如果字符串的长度小于1000000,则默认为取到字符串的结尾处
- 示例: substring("sinablog",5) 【blog】 substr("sinablog",5,10) 【blog]
- strsplit、unlist:
- strsplit(x, split, extended = TRUE, fixed = FALSE, perl = FALSE) x为待拆分的字符串向量,split拆分模式, fixed为TRUE表示精确匹配
- 使用split函数得到的结果是一个列表,如果希望得到一个向量,可以使用unlist函数
- 示例: unlist(strsplit("a.b.c", "\\.")) 结果:[1] "a" "b" "c"
- nchar: 取字符长度,示例: x<-"sinablog" > nchar(x) 结果:[1] 8
- paste、paste0:
- paste在不指定分割符的情况下,默认分割符是空格, paste0在不指定分割符的情况下,默认分割符是空
- > paste("Hello","world") [1] "Hello world"
> paste0("Hello","world") [1] "Helloworld"
table:
- table 对应的就是统计学中的列联表,是一种记录频数的方法。看示例
View Code
- table 对应的就是统计学中的列联表,是一种记录频数的方法。看示例