如何对R中的因子进行求和?

问题描述 投票:0回答:1

我有这样的数据:

df <- data.frame(id = c("001", "002", "003", "004"),
                 banana = c("banana", NA, NA, NA),
                 apple = c(NA, "apple", "apple", NA),
                 orange = c("orange", NA, NA, NA),
                 mango = c(NA, NA, NA, "mango"))

 id banana apple orange mango
001 banana    NA orange    NA
002     NA apple     NA    NA
003     NA apple     NA    NA
004     NA    NA     NA mango

我想通过以下方式将变量合并为一个变量

flavor

 id banana apple orange mango flavor
001 banana    NA orange    NA  mixed
002     NA apple     NA    NA  apple
003     NA apple     NA    NA  apple
004     NA    NA     NA mango  mango

我该怎么做?如有任何帮助,我们将不胜感激。

r variables dplyr tidyverse data-cleaning
1个回答
1
投票

检查唯一计数是否大于 1:

apply(df[-1], 1, function(i)
  ifelse(length(unique(na.omit(i))) > 1, "mixed", unique(na.omit(i))))
# [1] "mixed" "apple" "apple" "mango"
© www.soinside.com 2019 - 2024. All rights reserved.