考虑传递字符串文字并使用get()
来检索相应的对象:
teams <- c("Team1", "Team2", "Team3", "Team4", "Team5", "Team6",
"Team7", "Team8", "Team9", "Team10", "Team11", "Team12")
my_function <- function(i) {
x <- get(paste0(i, "_players"))
y <- get(paste0(i, "_opp"))
# My Calculations
x$newfield <- x$pts + y$pts
return(x)
}
dfList <- lapply(teams, my_function)
然而,理想情况下,使用多个对象的列表工作,而不是在全局环境中分隔多个对象。尝试从数据源(即Excel)中的多个对象导入到一个列表:
teamdfs <- c(Team1_players, Team2_players, Team3_players, Team4_players, Team5_players, Team6_players,
Team7_players, Team8_players, Team9_players, Team10_players, Team11_players, Team12_players)
team_oppdfs <- c(Team1_opp, Team2_opp, Team3_opp, Team4_opp, Team5_opp, Team6_opp,
Team7_opp, Team8_opp, Team9_opp, Team10_opp, Team11_opp, Team12_opp)
my_function <- function(x, y) {
# My Calculations
x$newfield <- x$pts + y$pts
return(x)
}
dfList <- mapply(my_function, teamdfs, team_oppdfs, SIMPLIFY = FALSE)
# EQUIVALENT TO Map(my_function, teamdfs, team_oppdfs)
这使我不知道,如果你有很多如果不是几百个这样的配对充斥你的全球环境。如果是这样,请考虑将它们全部纳入带有可用字符串文字引用的命名元素的大列表中。建议您更大的设置。 – Parfait
嗨谢谢你的回复,但你能举个例子吗? –
你能给我你的设置吗?同样,你是否有许多这样的VCU以外的* _players *和* _opp *对象?他们是如何制作的?从循环?从文件?一旦我知道我可以帮忙。 – Parfait