【问题标题】:Changing a variable into a factor variable将变量更改为因子变量
【发布时间】:2019-03-23 22:11:15
【问题描述】:

我有一个变量(年份),它都是 2007 年和 2008 年,但我需要将其更改为一个因子,以便读取 0 和 1。有没有办法做到这一点?

所以可以用在一般的线性模型中

【问题讨论】:

  • 请查看帮助页面?factor
  • @NelsonGon 抱歉,这似乎不起作用
  • 好的,编辑你的问题,如图here
  • df$year <- ifelse(df$year == 2008, 1, 0) 对你有好处吗。

标签: r factors


【解决方案1】:

假设您的year 变量中只有两年,例如:c(2007, 2007, 2008, 2007, 2008),那么:

year_as_factor <- factor(year, labels = c(0, 1))

将为您提供值为 0 的因子向量,其中 year 具有 2007 年,而 1 则 year 具有 2008 年。

【讨论】:

  • 嗨,吉姆,非常感谢您。很有用。如何重新编码,使其恢复原状。
  • Alex,你可以用levels(year_as_factor) <- c(2007, 2008)改回原来的。
【解决方案2】:

您实际上不需要更改级别以将其用作 glm 模型的输入,使用 factor(year) 将其转换为因子就足够了。但是,如果您仍想更改级别,则可以按照以下答案进行。一般来说,您可以通过如下语句更改因子变量的水平

levels(year) <- c(...)

其中c(...) 包含新的因子水平。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多