• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

4-5R语言函数split

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
#split根据因子或因子列表将 向量或其他对象分组
#通常与lapply一起使用
#split(参数):split(向量/列表/数据框,因子/因子列表)


> x <- c(rnorm(5),runif(5),rnorm(5,1))
> x
 [1]  0.61008707  0.81746169 -1.09859969 -1.78134612 -1.94262725  0.99760581
 [7]  0.37793960  0.05258653  0.38525197  0.46051864 -0.65455547  2.40130937
[13]  1.33670458  2.30777912 -1.34873009

> f <- gl(3,5)
> f
 [1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3
Levels: 1 2 3

> split(x,f)
$`1`
[1]  0.6100871  0.8174617 -1.0985997 -1.7813461 -1.9426272

$`2`
[1] 0.99760581 0.37793960 0.05258653 0.38525197 0.46051864

$`3`
[1] -0.6545555  2.4013094  1.3367046  2.3077791 -1.3487301


> lapply(split(x,f),mean)
$`1`
[1] -0.6790049

$`2`
[1] 0.4547805

$`3`
[1] 0.8085015


> head(airquality)
  Ozone Solar.R Wind Temp Month Day
1    41     190  7.4   67     5   1
2    36     118  8.0   72     5   2
3    12     149 12.6   74     5   3
4    18     313 11.5   62     5   4
5    NA      NA 14.3   56     5   5
6    28      NA 14.9   66     5   6

> s <- split(airquality,airquality$Month)

> table(airquality$Month)

 5  6  7  8  9 
31 30 31 31 30 


> lapply(s,function(x) colMeans(x[,c("Ozone","Wind","Temp")]))
$`5`
   Ozone     Wind     Temp 
      NA 11.62258 65.54839 

$`6`
   Ozone     Wind     Temp 
      NA 10.26667 79.10000 

$`7`
    Ozone      Wind      Temp 
       NA  8.941935 83.903226 

$`8`
    Ozone      Wind      Temp 
       NA  8.793548 83.967742 

$`9`
Ozone  Wind  Temp 
   NA 10.18 76.90 


> sapply(s,function(x) colMeans(x[,c("Ozone","Wind","Temp")]))
             5        6         7         8     9
Ozone       NA       NA        NA        NA    NA
Wind  11.62258 10.26667  8.941935  8.793548 10.18
Temp  65.54839 79.10000 83.903226 83.967742 76.90


> sapply(s,function(x) colMeans(x[,c("Ozone","Wind","Temp")],na.rm = TRUE))
             5        6         7         8        9
Ozone 23.61538 29.44444 59.115385 59.961538 31.44828
Wind  11.62258 10.26667  8.941935  8.793548 10.18000
Temp  65.54839 79.10000 83.903226 83.967742 76.90000


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
R语言ETL+统计+可视化发布时间:2022-07-18
下一篇:
R语言与医学统计图形-【17】ggplot2几何对象之热图发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap