У меня есть data.frame
с именем d
, на котором я хотел бы выполнить следующую операцию
d <- mutate(d,netto_0 = netto_0_pc * tot_pop)
d <- mutate(d,netto_1 = netto_1_pc * tot_pop)
d <- mutate(d,netto_2 = netto_2_pc * tot_pop)
d <- mutate(d,netto_3 = netto_3_pc * tot_pop)
d <- mutate(d,netto_4 = netto_4_pc * tot_pop)
d <- mutate(d,netto_5 = netto_5_pc * tot_pop)
d <- mutate(d,netto_6 = netto_6_pc * tot_pop)
d <- mutate(d,netto_7 = netto_7_pc * tot_pop)
d <- mutate(d,netto_8 = netto_8_pc * tot_pop)
d <- mutate(d,netto_9 = netto_9_pc * tot_pop)
Я бы хотел добиться этого результата более эффективным способом, выполнивпетля.К сожалению, имена переменных не являются символьными строками, поэтому следующий код не работает.
for( k in 0:9 ){
newcol <- paste0( 'netto_', k )
oldcol <- paste0( 'netto_', k, '_pc' )
d <- mutate(d, newcol = oldcol * tot_pop)
}
Или также
for( k in 0:9 ){
newcol <- paste0( 'netto_', k )
oldcol <- paste0( 'netto_', k, '_pc' )
d$newcol < d$oldcol * d$tot_pop
}
Как это исправить?