我的数据框包含我的学生在在线考试/测试中提供的答案,我在分析其中一个问题后得到了一些帮助。 解释问题的结构有点棘手,但我会尽力而为。 每个参与者都处于两种天气情况下(在5种可能的情况下随机选择:风暴,风,持久,湿和干)
然后要求他们陈述在两种情况下是否适用6种不同的旅行技术。为简化起见,旅行方式为(斜道,李,Early,Wait48,索拉和康恩)。
要求所有学生陈述每种旅行技术在每种天气情况下的适用性,他们必须在以下选项之间进行选择:NA)不知道0)不适用1)有点适用2)高度适用。
对于5种天气情况中的每一种,除潮湿情况外,有1种旅行技术非常适用。
正确的高度适用的答案如下: 风暴:Wait48,风:Lee,持久:Conn,湿:Early&Solar,Ldry:滑道
我想问的是如何在DF中创建一个新列,该列会统计每个学生(每行)是否正确地选择了“高度适用”,正确地选择了1个或2?
# Example results table
# Note the numbers relate to the student's responses as follows:
# 0= Not applicable, 1= Somewhat Applicable, 2= Highly applicable, NA =
Don't know
WeatherScen1 <- c('storm', 'persistent', 'wet', 'wet', 'storm', 'wind',
'Ldry')
Solar1 <- c(0, 1, 2, 0, 0, NA, 2)
Conn1 <- c(1, 2, 0, 2, 0, NA, 1)
Chute1 <- c(1, 1, 1, 2, 2, NA, 1)
Early1 <- c(0, 1, 2, 1, 1, NA, 2)
Wait481 <- c(2, 0, 0, 2, 1, NA, 2)
Lee1 <- c(1, 1, 1, 0, 1, NA, 1)
WeatherScen2 <- c('wet', 'wet', 'wind', 'storm', 'Ldry', 'storm',
'persistent')
Solar2 <- c(2, 2, 0, 0, 0, 1, 0)
Conn2 <- c(0, 0, 1, 1, 0, 1, 2)
Chute2 <- c(1, 1, 1, 1, 1, 1, 1)
Early2 <- c(2, 2, 1, 1, 1, 1, 0)
Wait482 <- c(0, 0, 1, 1, 1, 2, 0)
Lee2 <- c(1, 1, 2, 1, 1, 1, 0)
WeatherScenResp <- data.frame(WeatherScen1, Solar1, Conn1, Chute1, Early1,
Wait481, Lee1, WeatherScen2, Solar2, Conn2, Chute2, Early2, Wait482, Lee2)
View(WeatherScenResp)
Id WeatherScen1 Solar1 Conn1 Chute1 Early1 Wait481 Lee1...
1 Storm 0 1 1 0 2 1 ...
2 Persistent 1 2 1 1 0 1 ...
3 Wet 2 0 1 2 0 1 ...
4 Wet 0 2 2 1 2 0 ...
5 Storm 0 0 2 1 1 1 ...
6 Wind NA NA NA NA NA NA ...
7 Ldry 2 1 1 2 2 1 ...
...WeatherScen2 Solar2 Conn2 Chute2 Early2 Wait482 Lee2
...Wet 2 0 1 2 0 1
...Wet 2 0 1 2 0 1
...Wind 0 1 1 1 1 2
...Storm 0 1 1 1 1 1
...Ldry 0 0 1 1 1 1
...Storm 1 1 1 1 2 1
...Persistent 0 2 1 0 0 0
如果我们仅关注学生是否能够正确识别出高度适用的旅行技术(2秒),则行/学生1、2和3的天气情况都正确,学生/行4和5的天气情况都正确天气方案有误,而学生/第6和7行的第一种方案错了,但第二种方案错了。
我如何创建一个名为“没有高度适用的正确性的数字”的附加列,该列为学生1 2和3显示2分,为学生4和5显示0分,为学生6和7显示1分? >
在此先感谢您的帮助