一、安装和加载
1、安装并加载tidyr和dplyr包
install.packages("tidyr")
library(tidyr)
install.packages("dplyr")
library(dplyr)
2、读取数据
expression
二、tidyr包操作
%>% #用于实现将一个函数的输出传递给下一个函数的第一个参数。相当于管道,优先级高于赋值
stocksm % gather(stock, price, -time) #先执行右面的,结果赋值给stocksm
#短数据变成长数据
tidy_gather
三、dplyr包操作
#按id进行排序
dplyr_arrange % group_by(cyl)%>% arrange(desc(wt), .by_group = TRUE)
#筛选行
filter(starwars, hair_color == "none" & eye_color == "black")
filter(starwars, hair_color == "none", eye_color == "black") #相当于使用 &
filter(starwars, hair_color == "none" | eye_color == "black")
#加管道筛选
starwars %>% filter(mass > mean(mass, na.rm = TRUE))
starwars %>% group_by(gender) %>% filter(mass > mean(mass, na.rm = TRUE))
Result 1 ) %>% arrange( Expression )
#展示指定的GeneId SampleName Expression 列
dplyr_select %
+ group_by(cyl) %>%
+ summarise(mean = mean(disp), n = n()) #根据cyl分组,统计各组中disp的平均值以及组的大小
#按行合并,行索引
bind_rows(a , c)
#按列合并,列索引
bind_cols(a , c)
#取并集,按列索引
union(a , c)
#取差集,按列索引,保留a不同于c的部分
setdiff(a , c)
#内连接,按行,只保留a、b共有的x1值的行
inner_join(a,b,by="x1")
#全连接,按行,保留全部,空值用NA补齐
full_join(a,b,by="x1")
#左连接,按行,其中a全部保留
left_join(a,b,by="x1")
#右连接,按行,其中b全部保留
right_join(a,b,by="x1")
#a中所有在b中匹配的行
semi_join(a,b,by="x1")
#a中所有在b中不匹配的行
anti_join(a,b,by="x1")
Original: https://www.cnblogs.com/hs3434/p/16658569.html
Author: hs3434
Title: R语言-tidyr和dplyr
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/585973/
转载文章受原作者版权保护。转载请注明原作者出处!