Цель этой операции - добавить символ в первый столбец таблицы "voy_tranches", если объект отношения, соответствующий временному интервалу и вычисленный в таблице "JO_ratio_tranches", меньше 5% (отображается красным цветом втаблица).
> dput(voy_tranches)
structure(list(tranches = c(".1_JO[4h_7h[", ".2_JO[7h_9h[", ".3_JO[9h_12h[",
".4_JO[12h_15h30[", ".5_JO[15h30_18h[", ".6_JO[18h_20h[", ".7_JO[20h_22h[",
".8_JO[22h_4h["), voy = c(2207, 13051, 14049, 19055, 20094, 7618,
2544, 704), montees = c(847, 6912, 7701, 11008, 10820, 4082, 1286, 352), dist = c(2.61, 1.89, 1.82, 1.73, 1.86, 1.87, 1.98, 2)), row.names = c(NA, -8L), class = c("data.table", "data.frame"), .internal.selfref = <pointer: 0x0000000000121ef0>)
> dput(JO_ratio_tranches)
structure(list(chem = c("257-ROG1D-NOR4-THOM-LIED3-DVA3", "302-DVA3-DVI4-BOR7-PAIX-ROG1A"), dir = c("R", "A"), `.1_JO[4h_7h[_txcouv` = c(6.7, 6.5), `.2_JO[7h_9h[_txcouv` = c(3.9, 7), `.3_JO[9h_12h[_txcouv` = c(4.5, 5.7), `.4_JO[12h_15h30[_txcouv` = c(5.8, 7), `.5_JO[15h30_18h[_txcouv` = c(3.7, 6.3), `.6_JO[18h_20h[_txcouv` = c(4.1, 5.3), `.7_JO[20h_22h[_txcouv` = c(3.3, 3.9), `.8_JO[22h_4h[_txcouv` = c(2.9, 3.6)), row.names = c(NA, -2L), class = c("data.table", "data.frame"), .internal.selfref = <pointer: 0x0000000000121ef0>, sorted = "chem")
Я пытаюсьвекторизовать этот код в цикл for, но у меня всегда есть сообщение об ошибке, и я не знаю, как его решить!
ratio_1 <- JO_ratio_tranches[`.1_JO[4h_7h[_txcouv` < 5, `.1_JO[4h_7h[_txcouv`]
if(!is_empty(ratio_1)){voy_tranches[1,1] <- paste(voy_tranches[1,1], footnote_marker_symbol(1))}
ratio_2 <- JO_ratio_tranches[`.2_JO[7h_9h[_txcouv` < 5, `.2_JO[7h_9h[_txcouv`]
if(!is_empty(ratio_2)){voy_tranches[2,1] <- paste(voy_tranches[2,1], footnote_marker_symbol(1))}
ratio_3 <- JO_ratio_tranches[`.3_JO[9h_12h[_txcouv` < 5, `.3_JO[9h_12h[_txcouv`]
if(!is_empty(ratio_3)){voy_tranches[3,1] <- paste(voy_tranches[3,1], footnote_marker_symbol(1))}
ratio_4 <- JO_ratio_tranches[`.4_JO[12h_15h30[_txcouv` < 5, `.4_JO[12h_15h30[_txcouv`]
if(!is_empty(ratio_4)){voy_tranches[4,1] <- paste(voy_tranches[4,1], footnote_marker_symbol(1))}
ratio_5 <- JO_ratio_tranches[`.5_JO[15h30_18h[_txcouv` < 5, `.5_JO[15h30_18h[_txcouv`]
if(!is_empty(ratio_5)){voy_tranches[5,1] <- paste(voy_tranches[5,1], footnote_marker_symbol(1))}
ratio_6 <- JO_ratio_tranches[`.6_JO[18h_20h[_txcouv` < 5, `.6_JO[18h_20h[_txcouv`]
if(!is_empty(ratio_6)){voy_tranches[6,1] <- paste(voy_tranches[6,1], footnote_marker_symbol(1))}
ratio_7 <- JO_ratio_tranches[`.7_JO[20h_22h[_txcouv` < 5, `.7_JO[20h_22h[_txcouv`]
if(!is_empty(ratio_7)){voy_tranches[7,1] <- paste(voy_tranches[7,1], footnote_marker_symbol(1))}
ratio_8 <- JO_ratio_tranches[`.8_JO[22h_4h[_txcouv` < 5, `.8_JO[22h_4h[_txcouv`]
if(!is_empty(ratio_8)){voy_tranches[8,1] <- paste(voy_tranches[8,1], footnote_marker_symbol(1))}
OK!
for(i in JO_ratio_tranches[, grep("txcouv", names(JO_ratio_tranches))]){
ratio[[i]] <- JO_ratio_tranches[JO_ratio_tranches[[i]] < 5, ]
if(!is_empty(ratio[[i]])){voy_tranches[i, 1] <- paste(voy_tranches[i, 1], footnote_marker_symbol(1))}
}
Ошибка в eval (expr, envir, enclos): objet 'ratio' introuvable Вызовы:… handle -> withCallingHandlers -> withVisible -> eval -> eval
R не находит объект "коэффициент"! :( Не могли бы вы помочь мне исправить это для цикла?
РЕДАКТИРОВАТЬ: @ user2554330 найти решение, добавив коэффициент <- list () перед циклом, но возникает другая проблема:цикл только распечатать результаты последнего цикла!: (</strong>
Спасибо всем за помощь!