创建一个新的数据框列以汇总多个正确答案

时间:2019-06-13 23:25:14

标签: r testing count sum points

我的数据框包含我的学生在在线考试/测试中提供的答案,我在分析其中一个问题后得到了一些帮助。 解释问题的结构有点棘手,但我会尽力而为。 每个参与者都处于两种天气情况下(在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分? >

在此先感谢您的帮助

0 个答案:

没有答案