考慮傳遞字符串文字並使用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