У меня есть манипуляция с фреймом данных в Python, которую я пытаюсь перевести на R. Однако у меня возникают проблемы с переводом R.
col_names = China_2.columns
provinces = col_names[0]
days = col_names[1:]
day_1 = days[0]
other_days = days[1:]
China_dc = pd.DataFrame()
China_dc['Province'] = China_2[provinces]
China_dc[day_1] = China_2[day_1]
China_dc[other_days] = daily_cases
China_dc.head(3)
Я попытался переписать это на R как:
col_names <- names(china_2)
provinces <- col_names[1]
days <- col_names[-1]
day_1 <- days[2]
other_days <- days[-1]
China_dc <- data.frame(Province = rep(NA_character_, nrow(China_2)))
China_dc$Province <- China_2[[provinces]]
China_dc[[day_1]] <- China_2[[day_1]]
China_dc[, other_days] <- daily_cases_df
head(China_dc, 3)
Я получил ошибку с кодом R. В частности, проблема связана со строкой дней <- col_names[-1]. Результат, которого я хочу достичь в R, должен выглядеть следующим образом (используя для справки вывод кода Python):
Будем признательны за любую помощь в правильном переводе кода Python на R!
У вас возникла проблема с кодом R из-за строки дней <- col_names[-1]. В Python вы использовали col_names[1:] для исключения первого элемента, но в R индексация начинается с 1. Итак, чтобы исключить первый элемент в R, вы должны использовать col_names[-1]. Однако вам также необходимо настроить индекс для day_1 иother_days, поскольку индексация R начинается с 1.
Обновлен код R:
col_names <- names(china_2)
provinces <- col_names[1]
days <- col_names[-1]
day_1 <- days[1] # To align with R's 1-based indexing
other_days <- days[-1] # To align with R's 1-based indexing
China_dc <- data.frame(Province = rep(NA_character_, nrow(china_2)))
China_dc$Province <- china_2[[provinces]]
China_dc[[day_1]] <- china_2[[day_1]]
China_dc[, other_days] <- daily_cases_df
head(China_dc, 3)
первый выпуск
day1 <- days[1]