前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Day-6:学习R包

Day-6:学习R包

原创
作者头像
用户11039713
发布2024-03-27 22:47:36
850
发布2024-03-27 22:47:36

安装和加载R包

1.设置镜像

2.安装R包:

install.packages("包")(R包来自CRAN网站)

BiocManager::install(“包”)(R包来自Bioconductor)

3.加载R包:

library(包)require(包)


dplyr基础函数

以内置数据集iris为例test <- iris[c(1:2,51:52,101:102),]

1.新增列:mutate()

mutate(test, new = Sepal.Length * Sepal.Width)即在test中新增名为“new”的列,该列为Sepal.Length和Sepal.Width的乘积

代码语言:R
复制
    Sepal.Length Sepal.Width Petal.Length Petal.Width    Species   new
1            5.1         3.5          1.4         0.2     setosa 17.85
2            4.9         3.0          1.4         0.2     setosa 14.70
51           7.0         3.2          4.7         1.4 versicolor 22.40
52           6.4         3.2          4.5         1.5 versicolor 20.48
101          6.3         3.3          6.0         2.5  virginica 20.79
102          5.8         2.7          5.1         1.9  virginica 15.66

2.按列筛选:select()包括按列号筛选和按列名筛选

2.1select(test,1)选择test中第1列

2.2select(test,c(1,5))选择test中第1列和第5列

2.3select(test, Petal.Length, Petal.Width)选择test中列名为Petal.Length和Petal.Width的列

2.4vars <- c("Petal.Length", "Petal.Width") select(test, one_of(vars))意义同2.3

3.按行筛选filter()

3.1filter(test, Species == "setosa")筛选test中包含setosa的行

3.2filter(test, Species == "setosa"&Sepal.Length > 5 )筛选test中包含setosa且Sepal.Length > 5的行

3.3filter(test, Species %in% c("setosa","versicolor"))筛选test中包含setosa和versicolor的行

4.按某1列或某几列对整个表格进行排序arrange()

4.1arrange(test, Sepal.Length)默认按照Sepal.Length列从小到大排序

代码语言:R
复制
Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
1          4.9         3.0          1.4         0.2     setosa
2          5.1         3.5          1.4         0.2     setosa
3          5.8         2.7          5.1         1.9  virginica
4          6.3         3.3          6.0         2.5  virginica
5          6.4         3.2          4.5         1.5 versicolor
6          7.0         3.2          4.7         1.4 versicolor

4.2arrange(test, desc(Sepal.Length))#用desc按照Sepal.Length列从大到小排序

代码语言:R
复制
  Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
1          7.0         3.2          4.7         1.4 versicolor
2          6.4         3.2          4.5         1.5 versicolor
3          6.3         3.3          6.0         2.5  virginica
4          5.8         2.7          5.1         1.9  virginica
5          5.1         3.5          1.4         0.2     setosa
6          4.9         3.0          1.4         0.2     setosa

5.汇总:summarise()

5.1summarise(test, mean(Sepal.Length), sd(Sepal.Length)) 计算Sepal.Length的平均值和标准差

代码语言:R
复制
mean(Sepal.Length) sd(Sepal.Length)
1           5.916667        0.8084965

5.2group_by(test, Species) summarise(group_by(test, Species),mean(Sepal.Length), sd(Sepal.Length))

先按照Species分组,计算每组Sepal.Length的平均值和标准差

代码语言:R
复制
> group_by(test, Species)
# A tibble: 6 × 5
# Groups:   Species [3]
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species   
         <dbl>       <dbl>        <dbl>       <dbl> <fct>     
1          5.1         3.5          1.4         0.2 setosa    
2          4.9         3            1.4         0.2 setosa    
3          7           3.2          4.7         1.4 versicolor
4          6.4         3.2          4.5         1.5 versicolor
5          6.3         3.3          6           2.5 virginica 
6          5.8         2.7          5.1         1.9 virginica 
> summarise(group_by(test, Species), mean(Sepal.Length), sd(Sepal.Length))
# A tibble: 3 × 3
  Species    `mean(Sepal.Length)` `sd(Sepal.Length)`
  <fct>                     <dbl>              <dbl>
1 setosa                     5                 0.141
2 versicolor                 6.7               0.424
3 virginica                  6.05              0.354

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装和加载R包
  • dplyr基础函数
    • 1.新增列:mutate()
      • 2.按列筛选:select()包括按列号筛选和按列名筛选
        • 3.按行筛选filter()
          • 4.按某1列或某几列对整个表格进行排序arrange()
            • 5.汇总:summarise()
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档