我想在R中创建一个公式 if this或 else if else ,以粘贴前两列中的相应值。例如:
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
}}
我试图只获得没有NA的唯一值,但我只获得黄色(香蕉黄色)的第一个值,而绿色则没有。你能帮我么?我做错了什么想法? 最后,我在Colour_group列的空白处尝试使用和不使用NA。谢谢!
答案 0 :(得分: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)