Подсчет конкретных образцов данных в новом столбце DF - PullRequest
0 голосов
/ 16 июня 2019

Мой фрейм данных содержит ответы, предоставленные моими учениками на онлайн-экзамене / тесте, и я помогу с анализом одного из вопросов.Каждый участник был помещен в два погодных сценария (которые были выбраны случайным образом из 5 возможных сценариев: шторм, ветер, постоянный, влажный и слабый).

Затем их попросили указать, применимы ли 6 различных методов передвижения в двух из них.сценарии.В целях упрощения методы передвижения были следующими (Chute, Lee, Early, Wait48, Solar & Conn).

Всех студентов попросили указать, насколько применима каждая техника передвижения в каждом погодном сценарии и какие у них были варианты.на выбор были: нет данных) не знаю 0) не применимо 1) в некоторой степени применимо 2) в высшей степени применимо.

Для каждого из 5 погодных сценариев существует 1 техника передвижения, которая весьма применима, кромедля мокрого, у которого есть две техники, которые очень применимы.

Правильные, очень применимые ответы следующие: Шторм: Wait48, Ветер: Lee, Постоянный: Conn, Wet: Early & Solar, Ldry: Chute

Что мне интересно узнать здесь, так это то, как я могу создать новый столбец в моем 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 

Если мы просто сконцентрируемся на том, смогли ли студенты правильно определить методы передвижения, которые весьма применимы, то идентификаторы / студенты 1, 2 и 3 получили свою погодуСценарии верны, идентификаторы / ученики 4 и 5 ошиблись в обоих погодных сценариях, а идентификаторы / ученики 6 и 7 ошиблись в первом сценарии, но во втором верном.

Как создать дополнительный столбец, называемый чем-то вроде 'count-Правильно применяется: «2 балла для студентов 1 2 и 3, 0 баллов для студентов 4 и 5 и 1 балл для студентов 6 и 7?

Заранее большое спасибо за любую помощь, оказанную

...