我试图自动创建变量,表明学生的答案(变量开始与l,m,f或g)的问题(例如,变量开始在“测试_”)是正确的或不。即。这是通过检查是否,例如,test_l1 == l1。
我不知道如何做到这一点,除了使用索引,但它是非常繁琐的,并创建了大量的代码。
下面是一个模拟实际数据集结构的玩具数据集,它有4种不同的测试,每种测试有12个练习。(test_l1 ~ test_l12,test_m1 ~ test_m12,test_f1~,test_g1 ~)和相应的学生响应(l1~l12,m1~m12,f1~,g1~)。我想创建48个变量,即correct_l1 ~ correct_l12,correct_m1~,correct_f1~等。)
df <- data.frame(test_l1 = c(1,0,0),
test_l2=c(1,1,1),
test_m1 = c(0,1,0),
test_m2=c(0,1,1),
l1=c(0,1,0),
l2=c(1,1,1),
m1=c(1,1,1),
m2=c(0,0,1))
字符串
非常感谢提前!
2条答案
按热度按时间mznpcxlj1#
这里有一个tidyverse解决方案,你可以用途:
字符串
b5buobof2#
获取
test_cols
中的所有'test'
列,从test_cols
中删除字符串'test_'
以获取相应的列进行比较。直接比较这两个嵌套框并创建新列。
字符串
其中
TRUE
表示答案正确,FALSE
表示答案错误。