Так что я довольно много нашел для ответа на этот вопрос, но не могу найти ответ, который удовлетворяет мои потребности или мое понимание R .R - Объединение нескольких столбцов вместе в рамках фрейма данных при сохранении связанных данных
во-первых, вот некоторый код, чтобы просто дать вам представление о том, что мой набор данных выглядит
df <- data.frame("Year" = 1991:2000, "Subdiv" = 24:28, H1 = c(31.2,34,70.2,19.8,433.7,126.34,178.39,30.4,56.9,818.3),
H2 = c(53.9,121.5,16.9,11.9,114.6,129.9,221.1,433.4,319.2,52.6))
> df
Year Subdiv H1 H2
1 1991 24 31.20 53.9
2 1992 25 34.00 121.5
3 1993 26 70.20 16.9
4 1994 27 19.80 11.9
5 1995 28 433.70 114.6
6 1996 24 126.34 129.9
7 1997 25 178.39 221.1
8 1998 26 30.40 433.4
9 1999 27 56.90 319.2
10 2000 28 818.30 52.6
Так что у меня здесь есть набор данных, содержащий обилие сельди разных возрастов в разные областей («Подразделение») со временем. H1 означает сельдь в возрасте 1 года. Мой реальный набор данных содержит больше возрастов, а также больше областей (и дополнительных видов рыб).
Что я хотел бы сделать, это объединить обилие разных возрастов в один столбец, сохранив связанные данные (Год, Подраздел), а также создав новый столбец для Age. Как так:
Year Subdiv Abun Age
1 1991 24 31.20 1
2 1992 25 34.00 1
3 1993 26 70.20 1
4 1994 27 19.80 1
5 1995 28 433.70 1
6 1991 24 53.9 2
7 1992 25 121.5 2
8 1993 26 16.9 2
9 1994 27 11.9 2
10 1995 28 114.6 2
Примечание: Да, я удалил несколько строк, но только не загромождать экран
Я надеюсь, что это достаточно информации для принятия его понятным, что мне нужно, и для кого-то, чтобы помочь ,
Поскольку у меня есть больше видов рыб, если кто-то хотел бы включить описание для добавления столбца Species, это было бы полезно. Вот код для одних и тех же данных, просто дублируется для кильки (Sn):
df <- data.frame("Year" = 1991:2000, "Subdiv" = 24:28, H1 = c(31.2,34,70.2,19.8,433.7,126.34,178.39,30.4,56.9,818.3),
H2 = c(53.9,121.5,16.9,11.9,114.6,129.9,221.1,433.4,319.2,52.6),
S1 = c(31.2,34,70.2,19.8,433.7,126.34,178.39,30.4,56.9,818.3),
S2 = c(53.9,121.5,16.9,11.9,114.6,129.9,221.1,433.4,319.2,52.6))
Ура!
Я не думаю, что теги этого вопроса должны быть несвязаны, но если вы не найдете теги, соответствующие моему вопросу, идите в голову и измените.
Что касается ваших тегов, [tag: dataframes] - неправильный тег для использования с [tag: r]. Вместо этого используйте [tag: data.frame]. – A5C1D2H2I1M1N2O1R2T1