Добрый день,
Я пытаюсь добавить новые строки в фрейм данных, где у меня есть данные для многих источников. Что я пытаюсь сделать, так это добавить новую строку в начало источника и заменить значения столбца конкретными значениями из другой таблицы.
В качестве примера предположим, что у меня есть кадр данных, который дает определенную информацию для каждого источника (называемого стеком), как показано на рисунке ниже:
И у меня есть следующий входной файл: 
Я пытаюсь создать новую строку в начале каждого источника и добавить соответствующую информацию из информационной таблицы (первый рисунок), чтобы результат выглядел так:
Я знаю, как добавить новую строку в начале кадра данных, например, так:
v1=c(1,2,3)
v2= c(7,8,9)
dat= data.frame(v1,v2)
new_dat <- rbind(c(0,10000), dat)
но не уверен, как обусловить это, чтобы добавить строку в определенной позиции с информацией из рисунка 1.
У меня есть много источников и очень большой набор данных, но чтобы дать некоторые воспроизводимые данные, как показано в 2 таблицах, см. Ниже входные таблицы, которые я тестирую:
Информационная таблица (первый рисунок):
> dput(stack_info)
structure(list(SNAME = structure(1:2, .Label = c("Stack 1", "Stack 2"
), class = "factor"), ISVARY = c(1L, 4L), VELVOL = c(1L, 4L),
TEMPDENS = c(0L, 2L), `DUM 1` = c(999L, 999L), `DUM 2` = c(999L,
999L), NPOL = c(2L, 2L), `EXIT VEL` = c(26.2, 22.4), TEMP = c(341L,
328L), `STACK DIAM` = c(1.5, 2.5), W = c(0L, 15L), Nox = c(39,
33.3), Sox = c(15.5, 17.9)), .Names = c("SNAME", "ISVARY",
"VELVOL", "TEMPDENS", "DUM 1", "DUM 2", "NPOL", "EXIT VEL", "TEMP",
"STACK DIAM", "W", "Nox", "Sox"), class = "data.frame", row.names = c(NA,
-2L))
входная таблица, с которой я работаю (второй рисунок):
> dput(sample)
structure(list(Source = structure(c(1L, 1L, 1L, 1L, 2L, 2L, 2L,
2L, 2L), .Label = c("Stack 1", "Stack 2"), class = "factor"),
year = c(2010L, 2010L, 2010L, 2010L, 2010L, 2010L, 2010L,
2010L, 2010L), day = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L
), hour = c(0L, 1L, 2L, 3L, 0L, 1L, 2L, 3L, 4L), `EXIT VEL` = c(26.2,
26.2, 26.2, 26.2, 22.4, 22.4, 22.4, 22.4, 22.4), TEMP = c(341L,
341L, 341L, 341L, 328L, 328L, 328L, 328L, 328L), `STACK DIAM` = c(1.5,
1.5, 1.5, 1.5, 2.5, 2.5, 2.5, 2.5, 2.5), W = c(0L, 0L, 0L,
0L, 15L, 15L, 15L, 15L, 15L), Nox = c(39, 39, 39, 39, 33.3,
33.3, 33.3, 33.3, 33.3), Sox = c(15.5, 15.5, 15.5, 15.5,
17.9, 17.9, 17.9, 17.9, 17.9)), .Names = c("Source", "year",
"day", "hour", "EXIT VEL", "TEMP", "STACK DIAM", "W", "Nox",
"Sox"), class = "data.frame", row.names = c(NA, -9L))
Я был бы признателен, если бы я мог получить какие-либо рекомендации о том, как добавить условную строку со значениями из другого фрейма данных.
заранее спасибо.


append = TRUE. Я думаю, это должно сработать. - person Molx   schedule 16.09.2015out <- split( test2 , f = test2$Source), но я изо всех сил пытаюсь извлечь имена столбцов из информационного набора данных и назначить новые таблицы. Есть ли у вас какие-либо рекомендации о том, как я могу сделать это в цикле и добавить обратно к одному фрейму данных, как показано в примере желаемого выходного рисунка? Я могу ошибаться, думая, что это должно быть в цикле? заранее спасибо - person Achak   schedule 16.09.2015