本节继续来介绍
tidyverse
中的执行特殊功能的一些函数
bind_rows数据框纵向合并
library(tidyverse)
one <- iris[1:4, ]
two <- iris[9:12, ]
two %>% bind_rows(one)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 4.4 2.9 1.4 0.2 setosa
2 4.9 3.1 1.5 0.1 setosa
3 5.4 3.7 1.5 0.2 setosa
4 4.8 3.4 1.6 0.2 setosa
5 5.1 3.5 1.4 0.2 setosa
bind_rows(list(one, two), .id = "id")
id Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 1 5.1 3.5 1.4 0.2 setosa
2 1 4.9 3.0 1.4 0.2 setosa
3 1 4.7 3.2 1.3 0.2 setosa
4 1 4.6 3.1 1.5 0.2 setosa
5 2 4.4 2.9 1.4 0.2 setosa
6 2 4.9 3.1 1.5 0.1 setosa
横向合并
bind_cols(a = 1:3, b = 4:6)
a b
<int> <int>
1 1 4
2 2 5
3 3 6
tab_1 <- mtcars[,1:3]
tab_2 <- mtcars[,4:6]
tab_3 <- mtcars[,7:8]
bind_cols(tab_1, tab_2, tab_3)
mpg cyl disp hp drat wt qsec vs
Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0
Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0
Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1
Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1
Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0
Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1
Duster 360 14.3 8 360.0 245 3.21 3.570 15.84 0
Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1
Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1
inner_join 内部连接
合并两个数据集的变量,但仅保留具有共同ID的行
tab1 <- mpg %>% select(2,3)
tab2 <- mpg %>% select(2,4)
inner_join(tab1,tab2,by="model")
left_join保留与左数据表匹配的行
left_join(tab1,tab2,by="model")
setequal
比较2组数据是否相同
setequal(1:5, 1:6)
setequal(tab1,tab2)
喜欢的小伙伴欢迎关注我的公众号
R语言数据分析指南,持续分享数据可视化的经典案例及一些生信知识,希望对大家有所帮助
网友评论