2016-08-17 48 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