У меня есть две колонки.Первый столбец называется gdp_per_year
, который является ВВП в конкретном году.Второй столбец year
.Это соответствующий год.
Значения в gdp_per_year
имеют формат, например, 1,032,023,232
, поэтому в качестве разделителей тысяч используются запятые.Я пробовал много разных способов решения этой проблемы, но до сих пор я не мог понять это.Я пробовал разные коды для объединения и группировки на основе уникальных значений.Я также удалил ,
из значений и заменил их на .
и пустым.
Я преобразовал значения из символа в целое число, и оно все еще не работает.
gdp_per_year <- Suicides %>% select(gdp_per_year, year)
Преобразование этого в целое число.
gdp_per_year$gdp_per_year <-
as.integer(as.character(gdp_per_year$gdp_per_year))
Проверка, является ли число целым числом, поскольку оно не складывается
typeof(gdp_per_year$gdp_per_year)
Это целое число
Первая попытка:
total_gdp_per_year <- aggregate(gdp_per_year$gdp_per_year,
by=list(year=gdp_per_year$year), FUN=sum)
aggregate(gdp_per_year$gdp_per_year,
by=list(gdp_per_year=gdp_per_year$year), FUN=sum)
print(total_gdp_per_year)
Ноэто привело к ошибке
Вторая попытка:
gdp_per_year %>%
group_by(year) %>%
summarise(gdp_per_year = sum(gdp_per_year))
Мне нужна сумма gdp_per_year
значений, сгруппированных по соответствующим годам.Таким образом, в конце у меня не должно быть двойных значений в течение многих лет.gdp_per_year
следует суммировать соответственно с их годами.Все значения года должны быть уникальными.
Это ошибка, которую я получаю, введя этот код ниже.Отсутствует несколько случайных значений для gdp_per_year, и есть повторяющиеся значения для одного и того же года.Например, 1994 появляется не раз.
ИСПОЛЬЗОВАННЫЙ КОД, КОТОРЫЙ ОШИБИЛ 1 СКРИНШОТ НИЖЕ
gdp_per_year %>%
mutate(gdp_per_year = as.numeric(gsub(",", "", gdp_per_year))) %>%
group_by(year) %>%
summarise(gdp_per_year = sum(gdp_per_year))
результат выполнения dput (head (gdp_per_year))
structure(list(gdp_per_year = c("2156624900", "2156624900", "2156624900",
"2156624900", "2156624900", "2156624900"), year = c(1987L, 1987L,
1987L, 1987L, 1987L, 1987L)), row.names = c(NA, 6L), class = "data.frame")