2017-07-28 65 views
0

我有一個數據框,它具有以下結構/值,並希望遍歷數據框(按行)並粘貼第一列中的值(「One」 )到其他列的細胞,只有當他們沒有NA:Data.frame根據條件複製和粘貼值

我的數據:

One   Two Three Four 
1 Bar_2_Foo NA NA  1 
2 Mur_4_Doo  1 NA  2 
3 Bur_3_Hoo NA  1 NA 

我想什麼來實現:

One   Two Three Four 
1 Bar_2_Foo NA NA  Bar_2_Foo_1 
2 Mur_4_Doo Mur_4_Doo_1 NA  Mur_4_Doo_2 
3 Bur_3_Hoo NA  Bur_3_Hoo_1 NA 

任何想法如何實現這將是偉大的。謝謝。

+0

R基本,它可以改善,'cbind(數據[1],應用(數據[2:4],2,功能(I)ifelse(is.na(i)中,NA,糊(data [,1],i,sep =「_」))))' –

+0

謝謝!這看起來正是我需要的。 R開始並似乎遍歷行(根據所需時間來判斷),但結果文件不顯示任何更改。我認爲這個功能起作用,但它不能識別NA。如果那有意義的話。 – digit

+0

好吧,我剛剛得到了我做錯了什麼。 @S Rivero。這工作!大。太感謝了。 – digit

回答

0

這是你在找什麼?

mutate_at(data, Two:Four, function(i){ 
    ifelse(!is.na(i), paste0(One, "_", i), i) })