2017-02-23 28 views
1

在我在這裏提交我的問題之前,我查找了類似的問題,但是沒有找到類似的結果。 我在排兩個數據幀表具有相同的時間(年),並在該行的同一公司,但每個數據幀解釋變量,表中的值是用字母分類:基於超過DF1的DF2創建一個數據框,使用相同的行和行(特殊合併條件)

(BM) Dataframe 

Name | X1992 | X1993 | X1994 | X1995  
---- | ----- | ----- | ----- | ---- 
xyze | Na | Na | B | B 
zyea | A | B | B | A 
ddfa | Na | Na | D | D 
arer | C | C | A | A 
zaer | Na | A | A | B 
wxcv | A | A | B | A 
lklj | B | D | D | D 
jgie | B | B | C | C 
azer | C | B | C | B 
lmoz | Na | Na | Na | A 
jzea | D | D | D | C 

(Size) Dataframe 

Name | X1992 | X1993 | X1994 | X1995  
---- ----- ----- ----- ---- 
xyze Na  Na  D  C 
zyea B  D  A  A 
ddfa Na  Na  D  C 
arer A  A  C  C 
zaer Na  A  A  D 
wxcv C  B  C  A 
lklj C  C  B  D 
jgie D  B  C  D 
azer B  A  A  B 
lmoz Na  Na  Na  C 
jzea A  D  A  B 

我想有一個結果,這樣下面
(例如:公司與BM 「A」 &尺寸 「C」)

>A_C 
Name | X1992 | X1993 | X1994 | X1995  
---- ----- ----- ----- ---- 
xyze .  .  .  . 
zyea .  .  .  . 
ddfa .  .  .  . 
arer .  .  .  T 
zaer .  .  T  . 
wxcv T  .  .  . 
lklj .  .  .  . 
jgie .  .  .  . 
azer .  .  .  . 
lmoz .  .  .  T 
jzea .  .  .  . 

這是一個小的投影與現實。

+0

請使用'dput'顯示例子。嘗試在%c('A','C'),BM [-1],Size [-1]中映射(函數(x,y)x%%c('A','C')&y% ])' – akrun

+0

它也可能幫助你閱讀[本說明](ftp://cran.r-project.org/pub/R/web/packages/tidyr/vignettes/tidy-data.html)關於整潔的數據。 – p0bs

回答

0

這可以通過比較相應的列與Map

data.frame(Map(function(x,y) x %in% "A" & y %in% "C", BM[-1], Size[-1])) 

在這裏完成,輸出將是與具有TRUE元素時在「BM」的列元素是「A」和邏輯列一個data.frame '尺寸'是'C'。所有其他情況下,將假

注意:在這裏,我們假設娜是NA,這是一個錯字

+1

它運作良好,謝謝。 –

相關問題