相关疑难解决方法(0)

R中的自动虚拟变量

我有下面的数据框:

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名的虚拟变量并将其余部分折叠成一个名为"其他"的最终虚拟变量.

在此先感谢任何帮助或见解.

r data-manipulation data-management

1
推荐指数
1
解决办法
2045
查看次数

从许多类别生成虚拟变量

所以...我有一个包含许多类别的变量的大型数据集.我想创建新的变量,将其中一些类别组合成一个.

我可以用条件语句来做到这一点,但考虑到类别的数量,我当时需要永远走一行.此外,虽然我的原始变量是数字,但值本身是随机的,所以我不能使用逻辑或范围语句.

如何根据许多特定值创建此条件变量?

我尝试了以下,但没有成功.下面是我想要分组的一个不同类别的示例.

classes <- c(549,162,210,222,44,96,62,208,525,202,149,442,427,
      564,423,106,422,546,205,560,127,536,34,261,568,
      366,524,401,548,95,156,8,528, 430,527,556,203,554,523,
      501,530,55,252,585,19,540,71,204,502,504, 196,436,48,
      102,526,201,521,23,558,552,118,416,117,216,510,494,
      516,544,518)
Run Code Online (Sandbox Code Playgroud)

所以这对我来说似乎很直观,但它不起作用.

df$chem<- cbind(ifelse(df$class == classes ,1,0))
Run Code Online (Sandbox Code Playgroud)

毋庸置疑,我是一个初学者,这可能不是那么难做,但我一直在寻找这个特定问题的解决方案,我似乎无法找到它.我错过了什么?谢谢!

conditional r

0
推荐指数
1
解决办法
775
查看次数