R 西班牙语中月份名称的数字
我正在尝试将数据框中的一列转换为月份编号(1表示一月,2表示二月等等),因此我想将这些编号转换为西班牙语月份名称。 首先,我尝试:R 西班牙语中月份名称的数字,r,date,R,Date,我正在尝试将数据框中的一列转换为月份编号(1表示一月,2表示二月等等),因此我想将这些编号转换为西班牙语月份名称。 首先,我尝试: df$month <- month.name[df$month] 我知道发生了什么,但我不知道如何解决它。提前谢谢 编辑: df$month不使用正则表达式,这可以通过矢量化更好地解决 unname(setNames(meses, num)[tabla$month]) #[1] "Abril" "Marzo" "Septiembre" "
df$month <- month.name[df$month]
我知道发生了什么,但我不知道如何解决它。提前谢谢
编辑:
df$month不使用正则表达式,这可以通过矢量化更好地解决
unname(setNames(meses, num)[tabla$month])
#[1] "Abril" "Marzo" "Septiembre" "Julio" "Agosto" "Diciembre" "Abril" "Octubre" "Octubre" "Abril" "Agosto" "Mayo"
#[13] "Septiembre" "Septiembre" "Abril" "Noviembre" "Marzo" "Enero" "Julio" "Febrero"
相应的tabla$month
为
tabla$month
#[1] 4 3 9 7 8 12 4 10 10 4 8 5 9 9 4 11 3 1 7 2
关于regex
的使用,我们可能需要为12
添加开始(^
)和结束($
)以避免在11
或1
和2
中多次获得“EneroEnero”
或“EneroFebrero”
gsub2
df$month <- c(1, 2, 3, 4, 5, 6 ,7, 8, 9, 10, 11, 12)
unname(setNames(meses, num)[tabla$month])
#[1] "Abril" "Marzo" "Septiembre" "Julio" "Agosto" "Diciembre" "Abril" "Octubre" "Octubre" "Abril" "Agosto" "Mayo"
#[13] "Septiembre" "Septiembre" "Abril" "Noviembre" "Marzo" "Enero" "Julio" "Febrero"
tabla$month
#[1] 4 3 9 7 8 12 4 10 10 4 8 5 9 9 4 11 3 1 7 2
gsub2 <- function(pattern, replacement, x, ...) {
for(i in 1:length(pattern))
x<- gsub(paste0("^", pattern[i], "$"), replacement[i], x , ...)
x
}
gsub2(num, meses,tabla$month)
#[1] "Abril" "Marzo" "Septiembre" "Julio" "Agosto" "Diciembre" "Abril" "Octubre" "Octubre" "Abril" "Agosto" "Mayo"
#[13] "Septiembre" "Septiembre" "Abril" "Noviembre" "Marzo" "Enero" "Julio" "Febrero"
set.seed(24)
tabla <- data.frame(month = sample(1:12, 20, replace = TRUE))