У меня есть этот векторДля цикла создания dataframes
panelcustomers <- c(40482, 37244, 17734, 39786, 42613, 45703, 9534, 41772, 42358, 23870, 21815, 29070, 14248, 29484, 12720, 11951, 28290, 9245, 617, 17850, 44827, 29726, 30967, 36267, 37724, 37868, 33041, 37412, 42226, 41701, 26931, 15634, 29180, 35254, 33668, 18337, 31376, 16439, 26222, 7122, 35112, 38161, 23269, 35577, 24493, 1379, 36592, 40487, 8144, 39453, 6361, 34777, 17886, 33273, 11647, 34762, 25881, 5094, 55336, 13427, 28155, 46457, 54933, 42932, 52650, 40607, 15742, 15403, 27240, 28521, 23076, 46817, 39350, 44987, 34671, 53260, 39353, 52295, 56728)
и хотели бы использовать цикл для перебора вектора, выполнив следующий код:
pc17734_it <- subset(Paneldataexport,Paneldataexport$V1 == 17734 & Paneldataexport$V2 == "inside_temperature" & Paneldataexport$V3 <= turningpoint['17734',])
pc17734_st <- subset(Paneldataexport,Paneldataexport$V1 == 17734 & Paneldataexport$V2 == "set_point_temperature" & Paneldataexport$V3 <= turningpoint['17734',])
pi17734_it <- subset(Paneldataexport,Paneldataexport$V1 == 17734 & Paneldataexport$V2 == "inside_temperature" & Paneldataexport$V3 > turningpoint['17734',])
pi17734_st <- subset(Paneldataexport,Paneldataexport$V1 == 17734 & Paneldataexport$V2 == "set_point_temperature" & Paneldataexport$V3 > turningpoint['17734',])
interpol_pc17734_it <- approx(pc17734_it$V3, pc17734_it$V4, method = "linear", n=8352, rule = 2)
interpol_pc17734_st <- approx(pc17734_st$V3, pc17734_st$V4, xout = interpol_pc17734_it$x, method = "constant", rule = 1:2)
interpol_pi17734_it <- approx(pi17734_it$V3, pi17734_it$V4, method = "linear", n=432, rule = 2)
interpol_pi17734_st <- approx(pi17734_st$V3, pi17734_st$V4, xout = interpol_pi17734_it$x, method = "constant", rule = 1:2)
interpol_pc17734_it$st <- interpol_pc17734_st$y
names(interpol_pc17734_it)[names(interpol_pc17734_it) == 'y'] <- 'it'
pc17734 <- interpol_pc17734_it
interpol_pi17734_it$st <- interpol_pi17734_st$y
names(interpol_pi17734_it)[names(interpol_pi17734_it) == 'y'] <- 'it'
pi17734 <- interpol_pi17734_it
remove(pc17734_it, pc17734_st, pi17734_it, pi17734_st, interpol_pc17734_it, interpol_pc17734_st, interpol_pi17734_it, interpol_pi17734_st)
Для каждой итерации число (в этом примере 17734) следует заменить следующим числом в векторе - так что в итоге результирующий фреймворк имеет имя в соответствии с номером (в этом примере pi17734 со второй последней строки). Любая идея, как пройти через этот код? Спасибо!
В конце концов, вам не нужны все посредники, не так ли? Только набор данных (в данном случае 'pi7734')? – LAP
Да, только pi17734 (вторая последняя строка), а также pc17734 (5-я последняя строка) – GNee
Значения 'n' остаются неизменными для всего цикла? Или они доступны в подмножествах? – LAP