[英]Merging different columns from different data frames in R
我有以下兩個數據框:
數據框1:
Class Total AC
A 1000 0.6
A 965 0.34
B 1025 0.9
B 1002 0.37
B 684 0.55
C 896 0.77
C 927 0.86
C 1000 0.61
C 955 0.69
數據框2:
Class Total Coverage
A 925 0.6
A 744 0.94
A 1000 0.38
B 581 0.68
B 488 0.25
B 698 0.66
C 1020 0.33
C 845 0.18
C 1555 0.66
我想要的只是對數據幀2中每個類的前兩行獲取AC
值,對於數據幀1中的同一類也獲取前兩行的Coverage
值,並將它們組合如下:
Class AC Coverage
A 0.6 0.6
A 0.34 0.94
B 0.9 0.68
B 0.37 0.25
C 0.77 0.33
C 0.86 0.18
注意,始終保證在兩個數據幀中每個類至少有兩行。
你知道我該怎么做嗎?
這樣行嗎?
首先將兩個數據幀合並在一起。
df <- merge(df1$AC, df2$Coverage, by = "Class")
其次,將一個類中每個組的前兩個結果slice
:
library(dplyr)
df <- df %>%
group_by(Class) %>%
slice(2)
這是使用dplyr
的方法-
df1 %>%
group_by(Class) %>%
mutate(rn = row_number()) %>%
ungroup() %>%
filter(rn %in% 1:2) %>%
inner_join(
df2 %>%
group_by(Class) %>%
mutate(rn = row_number()) %>%
ungroup() %>%
filter(rn %in% 1:2),
by = c("Class", "rn")
) %>%
select(Class, AC, Coverage)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.