Как построить сложные строки в R

целевой вектор строки, который я хочу, выглядит следующим образом:

a1=paste0('2001',month.abb)
a2=paste0('2002',month.abb)
a3=paste0('2003',month.abb)
a4=paste0('2004',month.abb)
a5=paste0('2005',month.abb)
a6=paste0('2006',month.abb)
a7=paste0('2007',month.abb)
a8=paste0('2008',month.abb)
a9=paste0('2009',month.abb)
a10=paste0('2010',month.abb)

c(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)

Есть ли более простой способ сделать это?

Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
Четыре эффективных способа центрирования блочных элементов в CSS
Четыре эффективных способа центрирования блочных элементов в CSS
У каждого из нас бывали случаи, когда нам нужно отцентрировать блочный элемент, но мы не знаем, как это сделать. Даже если мы реализуем какой-то...
1
0
22
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете передать последовательность с 2001 по 2010 в sapply и сообщить ее paste0 вектору month.abb каждому элементу. Это фактически создает матрицу строк 12 x 10, поэтому, если вы хотите, чтобы они были векторными, просто оберните вызов в c

c(sapply(2001:2010, paste0, month.abb))
#>   [1] "2001Jan" "2001Feb" "2001Mar" "2001Apr" "2001May" "2001Jun" "2001Jul"
#>   [8] "2001Aug" "2001Sep" "2001Oct" "2001Nov" "2001Dec" "2002Jan" "2002Feb"
#>  [15] "2002Mar" "2002Apr" "2002May" "2002Jun" "2002Jul" "2002Aug" "2002Sep"
#>  [22] "2002Oct" "2002Nov" "2002Dec" "2003Jan" "2003Feb" "2003Mar" "2003Apr"
#>  [29] "2003May" "2003Jun" "2003Jul" "2003Aug" "2003Sep" "2003Oct" "2003Nov"
#>  [36] "2003Dec" "2004Jan" "2004Feb" "2004Mar" "2004Apr" "2004May" "2004Jun"
#>  [43] "2004Jul" "2004Aug" "2004Sep" "2004Oct" "2004Nov" "2004Dec" "2005Jan"
#>  [50] "2005Feb" "2005Mar" "2005Apr" "2005May" "2005Jun" "2005Jul" "2005Aug"
#>  [57] "2005Sep" "2005Oct" "2005Nov" "2005Dec" "2006Jan" "2006Feb" "2006Mar"
#>  [64] "2006Apr" "2006May" "2006Jun" "2006Jul" "2006Aug" "2006Sep" "2006Oct"
#>  [71] "2006Nov" "2006Dec" "2007Jan" "2007Feb" "2007Mar" "2007Apr" "2007May"
#>  [78] "2007Jun" "2007Jul" "2007Aug" "2007Sep" "2007Oct" "2007Nov" "2007Dec"
#>  [85] "2008Jan" "2008Feb" "2008Mar" "2008Apr" "2008May" "2008Jun" "2008Jul"
#>  [92] "2008Aug" "2008Sep" "2008Oct" "2008Nov" "2008Dec" "2009Jan" "2009Feb"
#>  [99] "2009Mar" "2009Apr" "2009May" "2009Jun" "2009Jul" "2009Aug" "2009Sep"
#> [106] "2009Oct" "2009Nov" "2009Dec" "2010Jan" "2010Feb" "2010Mar" "2010Apr"
#> [113] "2010May" "2010Jun" "2010Jul" "2010Aug" "2010Sep" "2010Oct" "2010Nov"
#> [120] "2010Dec"

Если вы предпочитаете пробелы между годами и месяцами, используйте paste вместо paste0.

Альтернативой является создание последовательности месяцев и их форматирование следующим образом:

 format(seq(as.Date("2001-01-01"), as.Date("2010-12-01"), "month"), "%Y%b")
#>   [1] "2001Jan" "2001Feb" "2001Mar" "2001Apr" "2001May" "2001Jun" "2001Jul"
#>   [8] "2001Aug" "2001Sep" "2001Oct" "2001Nov" "2001Dec" "2002Jan" "2002Feb"
#>  [15] "2002Mar" "2002Apr" "2002May" "2002Jun" "2002Jul" "2002Aug" "2002Sep"
#>  [22] "2002Oct" "2002Nov" "2002Dec" "2003Jan" "2003Feb" "2003Mar" "2003Apr"
#>  [29] "2003May" "2003Jun" "2003Jul" "2003Aug" "2003Sep" "2003Oct" "2003Nov"
#>  [36] "2003Dec" "2004Jan" "2004Feb" "2004Mar" "2004Apr" "2004May" "2004Jun"
#>  [43] "2004Jul" "2004Aug" "2004Sep" "2004Oct" "2004Nov" "2004Dec" "2005Jan"
#>  [50] "2005Feb" "2005Mar" "2005Apr" "2005May" "2005Jun" "2005Jul" "2005Aug"
#>  [57] "2005Sep" "2005Oct" "2005Nov" "2005Dec" "2006Jan" "2006Feb" "2006Mar"
#>  [64] "2006Apr" "2006May" "2006Jun" "2006Jul" "2006Aug" "2006Sep" "2006Oct"
#>  [71] "2006Nov" "2006Dec" "2007Jan" "2007Feb" "2007Mar" "2007Apr" "2007May"
#>  [78] "2007Jun" "2007Jul" "2007Aug" "2007Sep" "2007Oct" "2007Nov" "2007Dec"
#>  [85] "2008Jan" "2008Feb" "2008Mar" "2008Apr" "2008May" "2008Jun" "2008Jul"
#>  [92] "2008Aug" "2008Sep" "2008Oct" "2008Nov" "2008Dec" "2009Jan" "2009Feb"
#>  [99] "2009Mar" "2009Apr" "2009May" "2009Jun" "2009Jul" "2009Aug" "2009Sep"
#> [106] "2009Oct" "2009Nov" "2009Dec" "2010Jan" "2010Feb" "2010Mar" "2010Apr"
#> [113] "2010May" "2010Jun" "2010Jul" "2010Aug" "2010Sep" "2010Oct" "2010Nov"
#> [120] "2010Dec"

Created on 2022-05-16 by the reprex package (v2.0.1)

Большое спасибо за ответ и профессию!

tigerwang 17.05.2022 00:20

Другие вопросы по теме