Фильтрация фиктивных переменных для создания индекса - PullRequest
0 голосов
/ 07 мая 2020

Я пытаюсь создать индекс в R и понятия не имею, с чего начать. Я смотрел вокруг, но, кажется, просто не могу найти способ делать то, что хочу.

У меня есть несколько фиктивных переменных (1,0), и они относятся к тому, является ли кто-то членом организации (1) или нет (0). Я хотел бы создать индекс, показывающий, в скольких организациях состоит человек.

Это означает, что я должен каким-то образом иметь возможность фильтровать и добавлять эту информацию для создания такого индекса. Я никогда не делал ничего подобного. Я слышал, что есть несколько простых способов сделать это в SPSS, но я хочу узнать, как это сделать в R.

У кого-нибудь есть подсказка, как я могу это сделать?

Если это будет полезно, вот пример моих данных:

dput(SK[1:10,])
structure(list(Woeltaetigkeit = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 
0), Menschenrechte = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), Naturschutz = c(0, 
0, 0, 0, 0, 1, 0, 0, 0, 0), Buergerinitiative = c(0, 0, 0, 0, 
0, 0, 0, 0, 0, 0), Gewerkschaft = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 
0), ehem.Gewerkschaft = c(0, 1, 0, 1, 1, 0, 0, 0, 0, 1), Partei = c(0, 
0, 0, 0, 0, 0, 0, 0, 0, 0), Sport = c(1, 0, 0, 1, 0, 1, 0, 0, 
1, 1), Hobby = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), Gesundheit = c(0, 
1, 0, 0, 0, 0, 0, 0, 0, 0), Eltern = c(0, 0, 0, 0, 0, 1, 1, 0, 
1, 0), Senioren = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), row.names = c(NA, 
10L), class = "data.frame")

1 Ответ

1 голос
/ 07 мая 2020

Думаю, все, что вам нужно (желаемый результат поможет нам понять, что именно вы хотите):

rowSums(my_data)

результат

> rowSums(my_data)
 1  2  3  4  5  6  7  8  9 10 
 1  2  0  2  1  3  1  0  2  2 

Изменить: мне неясно, если организации или люди находятся в строках или столбцах. Если я сделал неверное предположение, вы можете использовать colSums(my_data), чтобы получить обратное.

...