我在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的工作还很少。
答案 0 :(得分:2)
您可以使用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