我试图通过从HOUSE列中提取数字来为"好"和"坏"创建一个虚拟变量.我想要做的是,如果HOUSE栏中的值是1,2,9,那么房子是"好的",否则"坏")
我粘贴了dputdata.frame对象的输出.
## dput output assigned to the housetype variable
structure(list(Price = c(10L, 20L, 31L, 41L, 52L, 63L, 45L, 63L,
64L, 45L), Location = structure(c(4L, 7L, 6L, 3L, 2L, 4L, 5L,
1L, 6L, 8L), .Label = c("AK", "ATL", "BOS", "DC", "GA", "MA",
"NYC", "PA"), class = "factor"), HOUSE = c(1L, 1L, 1L, 2L, 6L,
7L, 8L, 9L, 10L, 11L)), .Names = c("Price", "Location", "HOUSE"
), class = "data.frame", row.names = c(NA, -10L))
Run Code Online (Sandbox Code Playgroud)
如何以每个变量仍包含其他信息的方式创建虚拟变量?(价格和位置)
谢谢!!!
我有下面的数据框:
temp <- as.data.frame(with(uadm, table(prlo_state_code)))
Run Code Online (Sandbox Code Playgroud)
我期待创建11个虚拟变量.前10名和"其他"各1名.前10名很容易找到:
#top10
temp <- temp[order(temp$Freq, decreasing=T),]
head(temp, n=10)
Run Code Online (Sandbox Code Playgroud)
我知道R很棒,所以我假设有一个很容易自动创建(和命名)来自前10名的虚拟变量并将其余部分折叠成一个名为"其他"的最终虚拟变量.
在此先感谢任何帮助或见解.