gpt4 book ai didi

r - 用于多个类别的 if else 风格记录的成语

转载 作者:行者123 更新时间:2023-12-03 13:38:51 25 4
gpt4 key购买 nike

我经常遇到这个问题,以至于我认为必须有一个好的成语。假设我有一个带有一堆属性的 data.frame,包括“产品”。我还有一把将产品转化为品牌+尺寸的 key 。产品代码 1-3 是 Tylenol,4-6 是 Advil,7-9 是 Bayer,10-12 是 Generic。

编码这个的最快(就人类时间而言)方法是什么?

我倾向于使用嵌套 ifelse 's 如果有 3 个或更少的类别,如果超过 3 个,则键入数据表并将其合并。有更好的想法吗? Stata 有一个 recode command这对于这类事情来说非常棒,尽管我认为它过度促进了数据代码混合。

dat <- structure(list(product = c(11L, 11L, 9L, 9L, 6L, 1L, 11L, 5L, 
7L, 11L, 5L, 11L, 4L, 3L, 10L, 7L, 10L, 5L, 9L, 8L)), .Names = "product", row.names = c(NA,
-20L), class = "data.frame")

最佳答案

您可以将变量转换为因子并通过 levels<- 更改其水平功能。在一个命令中,它可能像:

`levels<-`(
factor(dat$product),
list(Tylenol=1:3, Advil=4:6, Bayer=7:9, Generic=10:12)
)

在步骤:
brands <- factor(dat$product)
levels(brands) <- list(Tylenol=1:3, Advil=4:6, Bayer=7:9, Generic=10:12)

关于r - 用于多个类别的 if else 风格记录的成语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10431403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com