R语言学习笔记

《R语言实战》学习笔记---Chapter5(5) 高级数据管理

2023-08-21  本文已影响0人  RSP小白之路

apply函数

R函数很有趣的一个特性,就是它们可以应用到一系列的数据对象
上。以mean函数为例子看一下。

> set.seed(1234)
> dt <- runif(20, 1, 20)
> mt <- matrix(dt, nrow = 4, ncol = 5)
> df <- as.data.frame(mt)
> 
> mean(dt)  #作用于向量
[1] 9.966671
> mean(mt)  #作用于矩阵
[1] 9.966671
> mean(dt)  #作用于数据框
[1] 9.966671

apply函数是apply函数家族的成员之一,可以将R函数作用到作用到多种数据结构的不同维度上。而另外一些成员,lapply() 和sapply() 则可将函数应用到列表(list)上。
apply()函数的使用格式为:

apply(x, MARGIN, FUN, ...)

其中, x 为数据对象, MARGIN 是维度的下标, FUN 是由你指定的函数, 而...则包括了任何想传递给FUN的参数。 在矩阵数据框中, MARGIN=1表示MARGIN=2表示

还是以刚才的数据为例子,将mean函数分别作用于数据框的行和列维度

> dt <- runif(20, 1, 20)
> mt <- matrix(dt, nrow = 4, ncol = 5)
> df <- as.data.frame(mt)
> df
         V1        V2       V3        V4       V5
1  3.160365 17.357392 13.65559  6.371938 6.438242
2 12.823689 13.165902 10.77077 18.545236 6.069595
3 12.576220  1.180419 14.17823  6.554001 4.547733
4 12.844209  5.418460 11.35452 16.908617 5.412292

> apply(df, 1, mean)   #作用于数据框的行
[1]  9.396706 12.275039  7.807322 10.387620
> apply(df, 2, mean)   #作用于数据框的列
       V1        V2        V3        V4        V5 
10.351121  9.280543 12.489780 12.094948  5.616966 
上一篇 下一篇

猜你喜欢

热点阅读