2015-08-12 5 views
-3

Это действительно конкретный вопрос. Я довольно новичок в R, но начинаю понимать основы. Недавно я провел тесты чувствительности на модели для работы. Я в основном выполняю низкий, средний и высокий тест для каждого из 49 параметров в модели и получаю отдельный кадр данных, содержащий результаты каждой из 21 переменных. Я хочу создать кадр данных, который объединяет результаты каждого теста параметров в один кадр данных. Например, для первого параметра я хочу, чтобы первый столбец нового фрейма данных был первым результатом переменных для низкого теста, второй столбец - первыми переменными для среднего теста, а третий - первым результатом для переменных высокий тест. Повторение этого шаблона для следующих 20 переменных, которые находятся в каждом кадре данных. Потенциальная проблема заключается в том, что каждый кадр данных (низкий, средний, высокий) имеет одинаковые имена столбцов переменных (V1, V2, V3 и т. Д.), И я хочу, чтобы мой новый фрейм данных считывал V1.low, V1.mid , V1.high и т. Д.Объединение нескольких фреймов данных вместе с одинаковыми именами переменных, но не нужно, чтобы переменные всех фреймов данных объединялись.

+3

Добро пожаловать в StackOverflow! Пожалуйста, прочитайте информацию о [как задать хороший вопрос] (http://stackoverflow.com/help/how-to-ask) и о том, как создать [минимальный воспроизводимый пример] (http://stackoverflow.com/questions/5963269/как к Make-A-пра-р-воспроизводимая-пример/5963610 # 5963610). Это облегчит вам помощь другим людям. – Jaap

+0

вы можете изменить имена столбцов data.frame, используя 'names (my_df) <- vector_of_new_names' – arvi1000

ответ

0
numbers <- c(1:20) 
levels <- c("low","med","high") 
names <- NULL 
    for (number in numbers){ 
    for (level in levels){ 
    names <- c(names,sprintf("V%s%s", number, level)) 
    } 
    } 
x<- matrix(0, nrow = 49, ncol = 60) 
colnames(x) <-names 

Теперь у вас есть пустая матрица X с именами, которые вы хотите. Вы можете заполнить его вашими выходными векторами модели.

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