[英]How to create a function with already written for-loop to automatically create vectors in r environment
[英]How do I create a For-Loop for these vectors?
這是我當前的代碼(我是新手!)。 雖然它可以完成這項工作,但我很想找到更有效的代碼。
day1_av <- tapply(day1$lots_available, day1$hour, mean) %>% data.frame()
day2_av <- tapply(day2$lots_available, day2$hour, mean) %>% data.frame()
day3_av <- tapply(day3$lots_available, day3$hour, mean) %>% data.frame()
day4_av <- tapply(day4$lots_available, day4$hour, mean) %>% data.frame()
day5_av <- tapply(day5$lots_available, day5$hour, mean) %>% data.frame()
day6_av <- tapply(day6$lots_available, day6$hour, mean) %>% data.frame()
day7_av <- tapply(day7$lots_available, day7$hour, mean) %>% data.frame()
day_av <- cbind(day1_av, day2_av, day3_av, day4_av, day5_av, day6_av, day7_av)
day_av
有沒有辦法在 R 中創建一個for 循環並從中創建一個數據框 day_av? 我試過這個:
day_av <- data.frame()
for(i in c(1:7)){
day[i]_av <- tapply(day[i]$lots_available, day[i]$hour, mean) %>% data.frame()
day_av <- rbind(day_av, day[i]_av)
但方括號似乎並沒有傳遞信息。 感謝您的幫助,謝謝~
您可以將所有數據框放在一個列表中,然后對它們使用tapply
output <- do.call(cbind, lapply(mget(paste0('day', 1:7)) function(x)
tapply(x$lots_available, x$hour, mean)))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.