[英]How to subset dataframe based on specific combination of factors across two columns in R?
sp1.col <- c("A","A","A","A","B","B","B","B","C","C","C","C")
sp1.val <- c(1:12)
sp2.col <- c("A","B","C","D","A","B","C","D","A","B","C","D")
sp2.val <- c(1:12)
df <- data.frame(sp1.col, sp1.val, sp2.col, sp2.val)
我想要對數據框進行子集化,以便 sp1 和 sp2 具有相同的物種名稱,並且消除所有其他行。
所以最終的數據幀應該看起來像
sp1.col sp1.val sp2.col sp2.val
A 1 A 1
B 5 B 5
C 11 C 11
> with(df,df[sp1.col==sp2.col,])
sp1.col sp1.val sp2.col sp2.val
1 A 1 A 1
6 B 6 B 6
11 C 11 C 11
我們可以在base R
使用subset
(不需要包)
subset(df, sp1.col == sp2.col)
-輸出
sp1.col sp1.val sp2.col sp2.val
1 A 1 A 1
6 B 6 B 6
11 C 11 C 11
library(dplyr)
df %>%
filter(sp1.col == sp2.col)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.