Собирать один и тот же ответ на разные вопросы в одной переменной? - PullRequest
0 голосов
/ 01 октября 2019

Я совершенно новичок в R, но здесь не хватает времени. В моем наборе данных есть люди из нескольких стран, которые отвечают, за кого они проголосовали в последний раз. Люди из разных стран задавали разные вопросы, поэтому в каждой колонке ответ имеют только те, кто из страны, остальные - нет данных. Я пытаюсь собрать всех, кто голосовал за зеленую партию, в одну переменную. До сих пор мне удалось закодировать ее в отдельную фиктивную переменную для каждой страны, используя ifelse, но я не могу объединить эти переменные. Итак, теперь у меня есть переменная для Германии, где зеленый голос на выборах в Германии равен 1, а все остальные равны 0. То же самое касается Франции и т. Д. Но как я могу собрать всю эту информацию только в одной переменной?

Ценю вашу помощь.

1 Ответ

0 голосов
/ 01 октября 2019

Предположим, ваш набор данных выглядит следующим образом ...

> ctry <- c(1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3)
> vote_ctry_1 <- c(1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0)
> vote_ctry_2 <- c(0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0)
> vote_ctry_3 <- c(0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0)
> 
> dd <- data.frame(ctry, vote_ctry_1, vote_ctry_2, vote_ctry_3)
> dd
   ctry vote_ctry_1 vote_ctry_2 vote_ctry_3
1     1           1           0           0
2     1           0           0           0
3     1           0           0           0
4     1           1           0           0
5     2           0           1           0
6     2           0           1           0
7     2           0           0           0
8     2           0           1           0
9     3           0           0           1
10    3           0           0           0
11    3           0           0           0
12    3           0           0           0

... затем просто сложите фиктивные переменные:

> dd$vote_all <- vote_ctry_1 + vote_ctry_2 + vote_ctry_3
> dd
   ctry vote_ctry_1 vote_ctry_2 vote_ctry_3 vote_all
1     1           1           0           0        1
2     1           0           0           0        0
3     1           0           0           0        0
4     1           1           0           0        1
5     2           0           1           0        1
6     2           0           1           0        1
7     2           0           0           0        0
8     2           0           1           0        1
9     3           0           0           1        1
10    3           0           0           0        0
11    3           0           0           0        0
12    3           0           0           0        0
...