我在 R 中有一个数据集,其中 yr_renovated 列具有 0 或整数(即 1998)表示房屋翻新的年份。如果房子是,我将如何创建一个水平为是和否的因子变量装修与否。
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