Перебирайте имена переменных в R - PullRequest
1 голос
/ 02 октября 2019

У меня потенциально очень глупый вопрос, но я не могу найти решение легко. И я довольно новичок в R, поэтому, пожалуйста, прости мое невежество.

Я ищу способ перебрать все переменные в моем фрейме данных. Например, составить двусторонние таблицы всех переменных по сравнению с одной конкретной переменной (скажем, пол или уровень образования). Раньше я работал со Stata, но поскольку R свободен, я теперь должен работать с R (я слышал, что есть много других преимуществ для работы с R, поэтому я очень хочу учиться :)).

Скажем, у меня есть 20 переменных, из которых 15 - ответы из опроса и 5 - демографические переменные. Я хотел бы увидеть, как разные ответы сравниваются с разницей в демографии.

Обычно я бы решил описанную выше проблему в Stata с помощью чего-то простого:

for i = 1 to 5 {
    for j = 1 to 3 {
        tab Sex Var`i'_`j', chi2
    }
}

, составив 15 таблиц для переменныхVar1_1 до Var5_3 против пола, и дает статистику Chison Пирсона.

Итак, я попробовал то же самое для R:

for (i in 1:5) {
  for (j in 1:3){
  print(table(chisq.test(paste(df$Sex, "df$Var",i,"_",j,sep=""))))    
  }
}

, но это не работает.

Может кто-нибудь указать мне правильное направление, как решить эту проблему? Любая помощь высоко ценится!

1 Ответ

1 голос
/ 02 октября 2019

Давайте представим, что df - ваши данные, а первые 15 столбцов - это ответы. В этом случае вы можете использовать это

lapply(df[,1:15], function(x) {chisq.test(x, df$Sex)}) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...