美文网首页
apply族函数12-3(小完结)

apply族函数12-3(小完结)

作者: 小胡同学ime | 来源:发表于2021-10-21 12:16 被阅读0次
1.apply 处理矩阵或数据框
apply(X, MARGIN, FUN, …)

*其中X是数据框/矩阵名;
*MARGIN为1表示取行,为2表示取列,FUN是函数

test<- iris[,1:4]
apply(test, 2, mean)
[1]Sepal.Length  Sepal.Width Petal.Length  Petal.Width 
 5.843333     3.057333     3.758000     1.199333

a <- apply(test, 1, sum);a[1:3] #观察结果的前三个
[1] 10.2  9.5  9.4

res <- c()
for(i in 1:nrow(test)){
  res[[i]] <- sum(test[i,])   #每一行依次求和
}
res[1:3]

[[1]]
[1] 10.2
[[2]]
[1] 9.5
[[3]]
[1] 9.4

2.lapply(list, FUN, …)

对列表/向量中的每个元素(向量)实施相同的操作

test <- list(x = 36:33,
             y = 32:35,
             z = 30:27)

返回值是列表,对列表中的每个元素(向量)求均值(试试方差var,分位数quantile)

lapply(test,mean)
class(lapply(test,mean)). #输出为列表
x <- unlist(lapply(test,mean));x
class(x)  #简单化

3.sapply 处理列表,简化结果,直接返回矩阵和向量

sapply(X, FUN, …) 注意和lapply的区别,返回值不一样

lapply(test,min)
sapply(test,min)
lapply(test,range)
sapply(test,range)

class(sapply(test,range))
练习:
# 1.加载test2.Rdata,求每一行的方差
# load(file = "test2.Rdata")
apply(test, 1, sd)[1:3]
[1] 2.179449 2.036950 1.997498

# 2.加载class.Rdata,尝试将前6列转为数值型,得到一个新矩阵
# load(file = "class.Rdata")
# apply(y[,1:6], 2, as.numeric)

# 3.解析代码:
names(tail(sort(apply(test,1,sd)),1000))[1:10]

### 重点函数

*   ***sort***
*   ***match***
*   ***names***
*   ***ifelse 和 str_detect***
*   ***identical***
*   ***arrange***
*   ***merge 和 inner_join***
*   ***unique 和 duplicated***

### 重点知识点

*   ***向量数据框、列表取子集***
*   ***数据框新增列***
*   ***文件读取***
*   ***Rdata的加载与保存***
*   ***作图保存***
*   ***R包安装和加载***
*   ***形式参数、实际参数、默认参数***

#### R语言遍历、创建、删除文件夹

*   dir()
*   file.create()
*   file.exists(…)
*   file.remove()
*   file.rename(from, to)
*   file.append(file1, file2)

相关文章

  • apply族函数12-3(小完结)

    1.apply 处理矩阵或数据框 apply(X, MARGIN, FUN, …) *其中X是数据框/矩阵名;*M...

  • apply、lapply、sapply、mapply、tappl

    简介批量处理函数有很重要的apply族函数:lapply sapply apply tapply mapply。这...

  • R语言--向量化计算(apply族函数)

    R语言最优秀的是它的向量化编程,这其中apply族函数扮演了非常重要的角色。apply族函数是由apply、sap...

  • R语言基础之第三部分 apply族函数的使用

    R语言基础之第三部分:重要函数apply族函数的使用 3.1 apply族函数3.11 lapply可以看成是li...

  • apply 函数族

    apply(对矩阵、数据框和数组进行行列的操作) lapply(作用于列表和数据框,对列表中的每个元素进行循环操作...

  • apply函数族

    ①apply函数的基本使用方法 apply函数无法应用于列表。 ②计算df里每一列的均值,方差,最大值(for函数...

  • apply函数族

    1.apply 处理矩阵或数据框 apply(X, MARGIN, FUN, …) 其中X是数据框/矩阵名; MA...

  • 《Learning R》笔记 Chapter 9 下 plyr

    plyr包提供了多种方便的函数。在这里只简单整理里面的apply族函数。plyr族的apply形式统一为**app...

  • R : apply函数族

    apply函数族 R函数的诸多有趣特性之一,就是它们可以应用到一系列的数据对象上,包括标量、向量、矩阵、数组、数据...

  • apply 函数家族

    apply 函数的主要优点是我们可以摆脱循环操作。r 中的应用族包含 apply()、lapply()、sappl...

网友评论

      本文标题:apply族函数12-3(小完结)

      本文链接:https://www.haomeiwen.com/subject/ievfvltx.html