作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要创建一些非正统的虚拟变量,但遇到了一些麻烦。基本上在我的数据集中,每个老师都可以教授多个类(class)。我正在构建一个多级数据集,因此存在重复的教师 ID 是可以的。
这是一个数据示例:
#generate data
teacher.id <- c(1:5, 1:5)
class.taught <- c("ELA", "Math", "Science", "ELA", "Math", "Science", "Math", "ELA", "ELA", "Math")
# combine into data frame
dat <- data.frame(teacher.id, class.taught)
如您所见,ID 为 1 和 3 的教师都教授 2 个不同的类(class)。
创建虚拟变量的传统方法产生:
# example of what I have done so far
dat$teach.ELA <- ifelse(dat$class.taught == "ELA", 1, 0 )
dat$teach.MATH <- ifelse(dat$class.taught == "Math", 1, 0 )
dat$teach.SCIENCE <- ifelse(dat$class.taught == "Science", 1, 0 )
dat
但是,我希望新的虚拟变量看起来像这样:
desired.ELA <- c(1,0,1,1,0,1,0,1,1,0)
desired.MATH <- c(0,1,0,0,1,0,1,0,0,1)
desired.SCIENCE <- c(1,0,1,0,0,1,0,1,0,0)
dat.2 <- data.frame(dat, desired.ELA, desired.MATH, desired.SCIENCE)
dat.2
我的直觉是我需要循环遍历 ID 来创建这些 ID,但除此之外我真的看不到实现我想要的东西的途径。
最佳答案
这是一个基本的 R 方法。这个想法是为每位教师创建虚拟模型,然后将它们合并到原始数据中:
# get dummies for each teacher
temp <- as.data.frame(with(dat, table(teacher.id, class.taught) > 0))
temp$teacher.id <- as.integer(row.names(temp))
# merge onto dataset
merge(dat, temp, by="teacher.id")
如果它真的困扰您,您可以将逻辑值强制转换为整数,但 R 会为您完成所有这些工作。
关于r - 创建一个非正统的虚拟变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37446473/
因此,当我单击按钮时,我试图让 ActionListener 工作。每当我创建一个框架时,(错误似乎发生在 createComponents() 方法中,我不明白为什么)JVM 不断生成 MyCust
上下文: 我经常使用 Cucumber 作为解决方案。我正在尝试在翻译和共享理解方面有独特需求的团队中使用 Cucumber。问题的要点是,有些人无法使用有关正在测试的内容的详细、字面的信息(我称之为
我是一名优秀的程序员,十分优秀!