это мои данные
> x_logit
Año Probabilidad Valor
1 2015 p_c15v_cd_logit 0.08464105
2 2015 p_c15v_tl_logit 0.08700553
3 2015 p_c15v_kp_logit 0.08566559
4 2015 p_c15v_lp_logit 0.08678959
5 2016 p_c16v_cd_logit 0.14655110
6 2016 p_c16v_tl_logit 0.14785441
7 2016 p_c16v_kp_logit 0.14510422
8 2016 p_c16v_lp_logit 0.14735904
9 2017 p_c17v_cd_logit 0.25125131
10 2017 p_c17v_tl_logit 0.24985382
11 2017 p_c17v_kp_logit 0.24634307
12 2017 p_c17v_lp_logit 0.24933684
И всякий раз, когда я пытаюсь поместить столбец Año как дату в этом формате
> x_logit$Año<-as.Date(x_logit$Año,format = "%Y") Я получил даты 1975 года.
> x_logit
Año Probabilidad Valor
1 1975-10-05 p_c15v_cd_logit 0.08464105
2 1975-10-05 p_c15v_tl_logit 0.08700553
3 1975-10-05 p_c15v_kp_logit 0.08566559
4 1975-10-05 p_c15v_lp_logit 0.08678959
5 1975-10-06 p_c16v_cd_logit 0.14655110
6 1975-10-06 p_c16v_tl_logit 0.14785441
7 1975-10-06 p_c16v_kp_logit 0.14510422
8 1975-10-06 p_c16v_lp_logit 0.14735904
9 1975-10-07 p_c17v_cd_logit 0.25125131
10 1975-10-07 p_c17v_tl_logit 0.24985382
11 1975-10-07 p_c17v_kp_logit 0.24634307
12 1975-10-07 p_c17v_lp_logit 0.24933684
Что я делаю неправильно?
structure(list(Año = c(2015, 2015, 2015, 2015, 2016, 2016, 2016,
2016, 2017, 2017, 2017, 2017), Probabilidad = c("p_c15v_cd_logit",
"p_c15v_tl_logit", "p_c15v_kp_logit", "p_c15v_lp_logit", "p_c16v_cd_logit",
"p_c16v_tl_logit", "p_c16v_kp_logit", "p_c16v_lp_logit", "p_c17v_cd_logit",
"p_c17v_tl_logit", "p_c17v_kp_logit", "p_c17v_lp_logit"), Valor = c(0.0846410475493695,
0.0870055321082446, 0.0856655905826855, 0.0867895859655773, 0.146551098076155,
0.147854412150009, 0.145104224610706, 0.147359039463159, 0.251251306863531,
0.249853824276802, 0.246343067372015, 0.249336843631983)), row.names = c(NA,
-12L), class = "data.frame")
> class (x_logit $ Año) [1] "числовой"
Это совокупное значение, оно представляет собой целый год, поэтому мне не нужен месяц или день. Неделю назад этот код работал нормально
Извините, но свидания в R не могут длиться всего год. В случае, если значение является числовым, например as.Date(2015, format = "%Y"), вы должны получить сообщение об ошибке «должно быть указано происхождение». У вас загружены какие-либо пакеты R, отличные от базовых, которые определяют функцию as.Date?
Да, у меня есть зоопарк и смазать
Каков ваш ожидаемый результат?





Сначала преобразуйте годы в символы:
x_logit$Año <- as.character(x_logit$Año)
Затем дважды используйте format:
format(as.Date(x_logit$Año, format = "%Y"), "%Y")
Первый format (внутри as.Date) служит для идентификации формата, в котором уже находятся данные; второй служит для переформатирования данных в желаемый формат
Все годы восходят к 1975 году
Можете ли вы использовать dput() для публикации некоторых ваших данных в воспроизводимой форме?
Сделанный! Спасибо за помощь
Просто изменил прямо сейчас, извини
Это помогло, Хорхе?
Если ваша цель - создать символьную версию года, второй шаг кажется излишним. str(as.character(2015)); str(format(as.Date(as.character(2015), "%Y"), "%Y")) ...
Что такое
class()вашей колонкиAno? Что вы получите, если запуститеas.Date("2015", format = "%Y")? Для значения даты нужны месяц и число, а не только год. Какой месяц и день вы хотите использовать для этих значений даты? Какая версия R у вас установлена?