2016-08-17 47 views
-1

我想創建一個公式R 如果這個或否則如果粘貼適當的值從前兩列。例如:錯誤,如果 - 否則如果語句與N R R

Fruit  Colour Colour_group 
banana  yellow yellow 
banana  yellow 
pear  green  green 
pear  green 
pineapple yellow yellow 
pineapple yellow 
apple  green  green 
apple  green     


green<-1 
yellow<-1 
for (i in 1:nrow(fruits){ 
    if (fruits$Colour_group[i] == "yellow"){ 
      yellow[i] <- paste(fruits$Fruit[i],fruits$Colour[i]) 
    } else if (fruits$Colour_group[i] == "green"){ 
      green[i] <- paste(fruits$Fruit[i],fruits$Colour[i]) 
    } else { 
    next 
    }} 

我想只得到唯一值沒有來港,但我得到的只有黃色(香蕉黃色),並沒有爲綠色的第一個值。你能幫我麼?我做錯了什麼想法? 最後,我嘗試了在Colour_group列的空白處使用和不使用NAs。謝謝!

+1

您能舉一個可重現的例子嗎? (使用'dput')隨着預期的結果 – Sotos

+0

我想要得到的是字符向量:「香蕉黃色」「菠蘿黃色」,沒有其他值。我希望我正在解釋它.. – Dimitra

+0

目前尚不清楚你需要什麼。根據您提供的數據給出預期的結果 – Sotos

回答

0

爲什麼你不只是顏色組的子集並從那裏粘貼?

yellow <- fruits[fruits$Colour_group == 'yellow',] 
green <- fruits[fruits$Colour_group == 'green',] 
yellow_fruits <- paste(yellow$Fruit,yellow$Colour) 
green_fruits <- paste(green$Fruit,green$Colour) 
+0

謝謝,但我得到了第一和第五個位置的字符向量,其餘都是NAs。 – Dimitra