Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 西班牙语中月份名称的数字_R_Date - Fatal编程技术网

R 西班牙语中月份名称的数字

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" "

我正在尝试将数据框中的一列转换为月份编号(1表示一月,2表示二月等等),因此我想将这些编号转换为西班牙语月份名称。 首先,我尝试:

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))