R-用于拆分列的For循环';将文本添加到新列

R-用于拆分列的For循环';将文本添加到新列,r,for-loop,R,For Loop,我有10个数据框,其中包括气候数据。第1列是类别为字符的“日期”列。日期格式为“1/5/19”。我想为我的所有数据帧使用for循环将此列分隔为其他3列。首先,我创建了一个名为“onomata”的向量,其中包含数据帧名称: onomata <- c("agia_paraskeui","ano_liosia","athens_gazi","marina", "kifisia",

我有10个数据框,其中包括气候数据。第1列是类别为字符的“日期”列。日期格式为“1/5/19”。我想为我的所有数据帧使用for循环将此列分隔为其他3列。首先,我创建了一个名为“onomata”的向量,其中包含数据帧名称:

onomata <- c("agia_paraskeui","ano_liosia","athens_gazi","marina",
         "kifisia","marousi","nea_smyrni","patisia","peristeri",
         "psychico")

onomata如果需要在循环上应用,请使用
map
。对象名称为字符串。我们需要
获取对象的值。如果有多个对象,请使用
mget
,它将返回
列表中对象的值。在
列表上循环
,然后应用
分离

library(dplyr)
library(tidyr)
library(purrr)
map(mget(onomata), ~ separate(.x, col = date,
    into = c("day","month","year"), sep = "/"))

还有,有一个循环

out <- vector('list', length(onomata))
for(i in seq_along(onomata)) {
   out[[i]] <- separate(get(onomata[i]), col = date,
    into = c("day","month","year"), sep = "/")
  }

出去,非常感谢!它起作用了,你的解释对以后重复类似的过程很有帮助!!!
library(dplyr)
library(tidyr)
library(purrr)
map(mget(onomata), ~ separate(.x, col = date,
    into = c("day","month","year"), sep = "/"))
out <- vector('list', length(onomata))
for(i in seq_along(onomata)) {
   out[[i]] <- separate(get(onomata[i]), col = date,
    into = c("day","month","year"), sep = "/")
  }