gpt4 book ai didi

r - 如何将水平分配给因子变量

转载 作者:行者123 更新时间:2023-12-02 00:50:37 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





R create factor based on condition

(1 个回答)


2年前关闭。




我在 R 中有一个数据集,其中 yr_renovated 列的值为 0 或整数(即 1998 年),表示房屋翻新的年份。如果房子被翻新,我将如何创建一个水平为 yes 和 no 的因子变量或不。

head(House_Data$yr_renovated,n=20)
[1] 0 0 0 0 0 0 0 0 0 0 0 0 1998 0 0 0 0 0 0

我在想一些类似的东西
levels(renovated)[levels(renovated) <= 0] <- "no"
levels(renovated)[levels(renovated) > 0] <- "yes"

但我在网上看到这个使用过,我不知道它是如何工作的,我也意识到如果我在分配级别时犯了错误让我们说
levels(renovated)[levels(renovated) <= 0] <- "yes"
levels(renovated)[levels(renovated) > 0] <- "yes"
levels(renovated)[levels(renovated) <= 0] <- "no"

最后一个级别不会覆盖第一个我唯一的级别是肯定的,我将如何删除第一个错误分配的级别?
no  no  no  no  no  no  no  no  no  no  no  no  yes no  no  no  no  no  no  no 
Levels: no yes

这就是最终答案的样子,或者如果使用 table()
renovated
no yes
5762 238

但有时它会给我这个结果
renovated
Yes
6000

请原谅我对 R 的新手知识,到目前为止,我们在大学的统计模块中还没有在 R 上做太多工作

最佳答案

您可以使用 factor并分配所需的 labels :

yr_renovated <- c(0, 0, 1998, 0, 2010, 0)

renovated <- factor(yr_renovated == 0, labels=c("Yes", "No"))
table(renovated)

#> renovated
#> Yes No
#> 2 4

关于r - 如何将水平分配给因子变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57929262/

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