Изменять новую переменную в одном кадре данных, получая значение из другого кадра данных - несовместимая проблема - PullRequest
1 голос
/ 28 марта 2019

Я использую mutate для создания нового столбца в фрейме данных A путем извлечения значений из фрейма данных B.

Я уже пытался использовать приведенный ниже код, но он начал выдавать ошибку. Не уверен, что я делаю какие-либо ошибки здесь. Пожалуйста, найдите код ниже.

Извините, что не могу делиться данными, так как они конфиденциальны. Однако цель проста, и я уверен, что где-то совершаю ошибку. Вы можете исправить меня?

Здесь dfm - это уже созданный кадр данных, из которого я буду использовать значения столбца «Код» для нового кадра данных (DF), который также был создан, но без столбца «Visit_concept_id».

dfm - Old dataframe with 'Code' column of length 256612
DF %>%
   mutate(visit_concept_id = as.integer(as.character(dfm$Code)))

Я ожидаю, что значения столбца «Код» из кадра данных dfm будут заполнены в столбце visit_concept_id нового кадра данных (DF), но я получаю сообщение об ошибке, как показано ниже. Пожалуйста помоги. Не уверен, как это работало раньше, а не сейчас.

Ошибка: столбец visit_concept_id должен иметь длину 16 (размер группы) или единицу, а не 256612

str (df) указано ниже

Классы «tbl_df», «tbl» и «data.frame»: 256612 об. из 17 переменных: $ visit_occurrence_id: int 1 2 3 4 5 6 7 8 9 10 ... $ person_id: int 127 12097 348097 4324235 214214 4213 41412 634643 241245 3255 ... $ visit_concept_id: int 32036 32036 32036 32036 32036 32036 32036 32036 32036 32036 ... $ visit_start_date: Date, format: "2169-06-08" "2169-06-08" "2169-06-08" ... $ visit_start_datetime: POSIXct, формат: "2169-06-08 09:40:00" "2169-06-08 09:41:00" "2169-06-08 09:42:00" ... $ visit_end_date: Date, format: "2169-06-08" "2169-06-08" "2169-06-08" ... $ visit_end_datetime: POSIXct, формат: "2169-06-08 09:40:00" "2169-06-08 09:41:00" "2169-06-08 09:42:00" ... $ visit_type_concept_id: int 44818518 44818518 44818518 44818518 44818518 44818518 44818518 44818518 44818518 44818518 ... $ provider_id: int 0 0 0 0 0 0 0 0 0 0 ... $ care_site_id: int 0 0 0 0 0 0 0 0 0 0 ... $ visit_source_value: chr "Амбулаторно" "Амбулаторно" "Амбулаторно" "Амбулаторно" ... $ visit_source_concept_id: int 0 0 0 0 0 0 0 0 0 0 ... $ admitting_source_concept_id: int 0 0 0 0 0 0 0 0 0 0 ... $ admitting_source_value: chr NA NA NA NA ... $ dump_to_concept_id: int 0 0 0 0 0 0 0 0 0 0 ... $ dump_to_source_value: chr NA NA NA NA ... $ previousding_visit_occurrence_id: int 0 1 2 3 4 0 6 7 8 9 ...

1 Ответ

1 голос
/ 28 марта 2019

Согласно сообщению об ошибке ваши данные сгруппированы. Попробуйте это

DF %>% ungroup() %>%
   mutate(visit_concept_id = as.integer(as.character(dfm$Code)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...