在R中的for循环中粘贴重命名功能的用法

埃内斯托·里维罗斯·巴里恩托斯

我正在编码for循环,以导入6个数据帧,并对其进行某些处理。

b = 6
for (i in 1:b) {
  a = as.numeric(20200518)
  d = as.Date("2020-05-18")

  assign(paste("vacantes_", a + i, sep = ""), read_excel(paste("Favorites/Tito/01. aaaaaa/aaaaaaa 20/05. Data/
         01. aa/01. Módulo aaaaaaaaaaa/Vacante_inconsistencias_", a + i, ".xlsx", sep = ""),col_names = TRUE))

  assign(paste("vacantes_", a + i, "_llenado", sep = ""), get(paste("vacantes_", a + i, sep = "")) %>% 
         select("ddd", "uuuu", Llenó", "cod") %>% 
         group_by(ddd, uuuu, `Llenó`) %>% summarise(Cantidad = n()))

  assign(paste("vacantes_", a + i, "_llenado1", sep = ""), 
         dcast(get(paste("vacantes_", a + i, "_llenado", sep = "")), ddd + uuuu ~ `Llenó`, sum) %>% 
         mutate(Fecha = as.Date(d + i)) %>% select("Fecha", "ddd", "uuuu", "NO", "SÍ"))

  if(i == b){
    rm(a, b, i, d)
  }
}

在最后一个过程Cast(第三个功能)中,我想在每个数据框中重命名两列,因此我将最后一行添加到代码的那部分:

## Cast  
assign(paste("vacantes_", a + i, "_llenado1", sep = ""), 
    dcast(get(paste("vacantes_", a + i, "_llenado", sep = "")), ddd + uuuu ~ `Llenó`, sum) %>% 
    mutate(Fecha = as.Date(d + i)) %>% select("Fecha", "ddd", "uuuu", "NO", "SÍ") %>% 
    rename(paste("NO_", a + 1, sep ="") = NO, paste("SI_", a + 1, sep ="") = SÍ))

重命名功能使for循环根本无法工作。我有:

Error: inesperado '=' in:
" i, "_llenado1", sep = ""), dcast(get(paste("vacantes_", a + i, "_llenado", sep = "")), ddd + uuuu ~ `Llenó`, sum) %>% 
    mutate(Fecha = as.Date(d + i)) %>% select("Fecha", "ddd", "uuuu", "NO", "SÍ")) %>% rename_(paste("NO_", a + 1, sep ="") ="

我尝试添加,rename(get(paste("NO_", a + 1, sep ="")) = NO, get(paste("SI_", a + 1, sep ="")) = SÍ)但也不起作用。

为了澄清起见,我删除了该rename行,到目前为止,for循环一直按我想要的方式工作,因此代码行才是问题所在。提前致谢。

阿克伦

如果我们使用paste,则一个选项是:=在评估(!!)时分配

library(dplyr)
head(mtcars) %>% 
      rename(!!paste0('NO_', 2) := mpg, 'SI' = carb)
#                  NO_2 cyl disp  hp drat    wt  qsec vs am gear SI
#Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4  4
#Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4  4
#Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4  1
#Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3  1
#Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3  2
#Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3  1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

重命名R中for循环中的对象

来自分类Dev

重命名R中for循环中的对象

来自分类Dev

重命名循环中的列,R

来自分类Dev

在Windows中的for循环中重命名

来自分类Dev

在R中同时重命名功能

来自分类Dev

使用循环重命名 R 中的字段

来自分类Dev

使用Jython在循环中重命名变量

来自分类Dev

循环以重命名R数据框中的字段

来自分类Dev

使用assign()循环R中的重命名变量

来自分类Dev

循环以重命名R数据框中的字段

来自分类Dev

使用assign()循环R中的重命名变量

来自分类Dev

在r的for()循环中转置和重命名数据帧

来自分类Dev

如何在for循环中重命名fish中的文件扩展名?

来自分类Dev

在UNIX中重命名文件以在循环中更改其他文件

来自分类Dev

使用正则表达式在for循环中重命名bash中的文件

来自分类Dev

R中的粘贴功能

来自分类Dev

R中的粘贴功能

来自分类Dev

R-在循环中使用粘贴功能给我带来了问题

来自分类Dev

复制R中的pdf文件列表并在粘贴时动态重命名

来自分类Dev

在循环中重命名的火花sql数据帧联接

来自分类Dev

如何批量添加attrib到FOR循环中的重命名文件

来自分类Dev

在foreach循环中输出时如何重命名文件

来自分类Dev

想要重命名循环中的所有键名

来自分类Dev

使用剪贴板管理器中的粘贴功能,同时使用文件管理器重命名文件内联

来自分类Dev

Ruby中while循环中“ not”的用法

来自分类Dev

重命名R中的列名

来自分类Dev

R重命名变量与names()循环

来自分类Dev

R / Optimize循环中的备用循环功能

来自分类Dev

在 For 循环中动态命名 R 数据帧