Я новичок в программировании здесь, поэтому извиняюсь, что это рудиментарный вопрос. Я работаю в R.Создание новой переменной условно для ответов для множества других
Мои данные: вкратце, у меня есть список из примерно 30 заболеваний (в некоторых из них - астма, боли в спине и т. Д., Что не обязательно указывает на заболевание, а скорее на какой-то хронический состояние). По каждому вопросу респонденты ответили «1», если у них есть болезнь, «2», если нет, и «88», если они не знали своего статуса болезни.
Я хочу создать новую переменную, называемую «хронической», которая захватывает всех людей, которые имеют хронические состояния 1, 2 или 3+. Конечно, я мог бы сидеть здесь и проходить через все условные условия, но есть эффективный способ сканирования по каждому конкретному столбцу болезни, и если участники ответили «1», создайте какую-то текущую сумму, так что общая сумма в этом новом " хроническая "переменная указывает количество хронических состояний, которые у них есть?
Заранее спасибо
Обычно _no_ представлен как 0, и _yes_ как 1. Я рекомендуйте заменить свои значения на это, а также 88 для 'NA'. С этим вы можете, например, использовать sum() для подсчета количества положительных ответов для данной болезни или респондента. Это можно легко сделать с помощью 'df [df == 88] = NA',' df [df == 2] = 0'. – Molx
@Molx Лучшая идея .. Я попробую этот метод. Мой df не просто содержит переменные заболевания, есть другие демографические вары, такие как возраст и т. Д., Которые кодируются как 2. Есть ли способ выбрать подмножество столбцов (болезнь) и установить значения «2» на «0», как вы предполагали? Я придумываю что-то вроде этого .. но при запуске ничего не меняется (8, 24 представляют номера столбцов): nhss [nhss [, c (8:24) == 2]] = 0 – Jason
Если вы хотите чтобы ограничить ваши изменения в определенных столбцах, вы подмножите эти столбцы перед подмножеством строк, которые вы хотите изменить: 'nhss [, 8: 24] [nhss [, 8: 24] == 2] = 0'. – Molx