2014-11-26 2 views
0

У меня возникла проблема с циклом, который создает несколько фреймов данных с разными именами и присваивает им значение.Создание кадров данных с разными именами в цикле

У меня есть большой кадр данных с различными производителями автомобилей и их выбросы CO2 (на уровне модели автомобиля).

После разделения моего большого кадра данных на кадры данных для каждого производителя, я пытаюсь подмножить каждый из них с их 75% квартилей (лучшие 75% автомобилей, которые загрязняют меньше).

неправильный путь (но работает):

subFord <- subset(ford, ford$co2_emissions <= quantile(ford$co2_emissions, 0.75)) 
subDaimler <- subset(daimler, daimler$co2_emissions <= quantile(daimler$co2_emissions, 0.75)) 
subGM <- subset(gm, gm$co2_emissions <= quantile(gm$co2_emissions, 0.75)) 

То, что я пытаюсь сделать (не работает):

manufacturer <- c('ford', 'daimler', 'gm') 

for(i in manufacturer) { 
paste('sub', i, sep = '') <- subset(i, i$co2_emissions <= quantile(i$co2_emissions, 0.75)) 
} 

Любая помощь приветствуется.

ответ

1

вы хотите использовать назначение.

assign(paste('sub', i, sep = ''), subset(i, i$co2_emissions <= quantile(i$co2_emissions, 0.75))) 
+0

Спасибо, но я получаю сообщение об ошибке «я $ co2_emission недопустим для атомных векторов – Synleb

+0

см: http://stackoverflow.com/questions/23299684/r-error-in-xed-operator-is- недействительные для атомных векторов? – Sarah

Смежные вопросы