计算新DF列中的特定数据模式

时间:2019-06-16 18:20:54

标签: r count sum points

我的数据框包含我的学生在在线考试/测试中提供的答案,我在分析其中一个问题后得到了一些帮助。每个参与者都处于两种天气情况下(在5种可能的情况下随机选择:风暴,风,持久,湿和干)

然后要求他们陈述在两种情况下是否适用6种不同的旅行技术。为简化起见,旅行方式为(斜道,李,Early,Wait48,索拉和康恩)。

要求所有学生陈述每种旅行技术在每种天气情况下的适用性,他们必须选择的选项是:NA)不知道0)不适用1)有点适用2)高度适用。 / p>

对于5种天气情况中的每一种,除潮湿情况外,有1种旅行技术非常适用。

正确的高度适用的答案如下:风暴:Wait48,风力:Lee,持久:Conn,湿:Early&Solar,Ldry:溜槽

我想在这里找到什么是如何在DF中创建一个新列,该列计算每个学生(每行)正确的正确的“高度适用”的数量。 (0、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   ... 


... Id WeatherScen2 Solar2 Conn2 Chute2 Early2 Wait482 Lee2
... 1  Wet          2      0     1      2      0       1
... 2  Wet          2      0     1      2      0       1
... 3  Wind         0      1     1      1      1       2
... 4  Storm        0      1     1      1      1       1
... 5  Ldry         0      0     1      1      1       1
... 6  Storm        1      1     1      1      2       1
... 7  Persistent   0      2     1      0      0       0 

如果我们仅关注学生是否能够正确识别出高度适用的旅行技术,则Ids /学生1、2和3会正确设置他们的天气情况,Ids /学生4和5都将两种天气情况弄错了Ids /学生6和7的第一种情况是错误的,而第二种情况是正确的。

我如何创建一个额外的列,例如“ count-highlyhighlyapplyss正确”,该列为学生1 2和3显示2分,为学生4和5显示0分,为学生6和7显示1分? >

在此先感谢您提供的任何帮助

0 个答案:

没有答案