【问题标题】:how to create a flag in R with output in new column如何在 R 中创建一个标志,并在新列中输出
【发布时间】:2017-08-07 13:26:35
【问题描述】:

我有以下数据框

all <- c("a","a","a","a","a","a","a","d","d","d","c","c","c","c")

我想创建一个列,将数据集中的条目全部标记为输出应该在另一列中让我们说 all$call,数据中的每个 a 的组都标记为好,d 更好,c 最好

谁能告诉我如何在 r 编程中做到这一点。提前致谢

【问题讨论】:

  • 类似:all$call<-factor(all,label = c('good','best','better'))
  • all$call <- ifelse(all == "a", "good", ifelse(all == "d", "better", "best"))
  • 谢谢@Niek 和 Leo P 都为我工作

标签: r data-manipulation


【解决方案1】:

您可以使用case_when 函数。

假设你的条目是一个向量:

entry <- c("a","a","a","a","a","a","a","d","d","d","c","c","c","c")

然后你可以简单地在一个新的向量中得到你想要的输出:

output <- case_when(
  entry == 'a' ~ "good",
  entry == 'd' ~ "better",
  entry == 'c' ~ "best"
)

您可以在case_whenhttps://www.rdocumentation.org/packages/dplyr/versions/0.7.2/topics/case_when找到更多信息

【讨论】:

  • 谢谢昆汀
猜你喜欢
  • 2019-03-21
  • 2021-07-06
  • 1970-01-01
  • 1970-01-01
  • 2021-04-10
  • 2017-09-10
  • 2022-11-22
  • 2021-08-21
  • 1970-01-01
相关资源
最近更新 更多