2017-02-02 176 views
1

我有兩個數據幀。我想僅考慮第一個值等於第二個數據幀的行的第一個值的列的第一個數據幀的子集。R - 比較具有兩個不同數據幀的行的列

數據幀1:

columns_df1 : a b c d e 

數據幀2:

rows_df2 : a c e 

子集,我想獲得:

final_columns_df1 = a c e 

我停留在如何與r進行比較ows屬於兩個不同的數據幀。

感謝您的幫助!

+0

你可以做'dput(columns_df1)'和'dput(rows_df2)'並把結果放在你的問題中嗎? – Jean

+0

你可以用'spread()'將'df2'從'long'轉換成寬格式。檢查[這裏](https://www.rstudio.com/wp-content/uploads/2015/02/data-wrangling-cheatsheet.pdf)。那麼你可以只是「加入」或「子集」或其他。 – Aramis7d

回答

0

好的。由於你沒有提供完整的可重複的答案,所以你對問題的要求有點不清楚。但我認爲這就是你要找的。

df1 <- data.frame(a = c(1, 2), 
       b = c(3, 4), 
       c = c(5, 6), 
       d = c(7, 8), 
       e = c(9, 10)) 

df2 <- data.frame(f = c("a", "b"), 
       g = c("c", "d"), 
       h = c("e", "f")) 

final_columns_df1 <- df1[ , names(df1) %in% df2[1, ]] 
final_columns_df1 
    a c e 
1 1 5 9 
2 2 6 10 
相關問題