R - Łączenie wielu kolumn w ramkę danych, przy zachowaniu połączonych danych
Sporo więc szukałem odpowiedzi na to pytanie, ale nie mogę znaleźć odpowiedzi, która spełniałaby moje potrzeby lub rozumienie R.
Po pierwsze, oto kod, który po prostu daje wyobrażenie o tym, jak wygląda mój zestaw danych
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
Mam więc zestaw danych zawierający obfitość śledzia w różnym wieku w różnych obszarach („Subdiv”) w czasie. H1 oznacza śledzie w wieku 1 lat. Mój prawdziwy zestaw danych zawiera więcej wieków, a także więcej obszarów (i dodatkowe gatunki ryb).
Chciałbym połączyć bogactwo różnych epok w jedną kolumnę, zachowując połączone dane (Rok, Subdiv), a także tworząc nową kolumnę dla Wieku. Tak jak:
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
Uwaga: Tak, usunąłem kilka wierszy, ale tylko po to, aby nie tłumić ekranu
Mam nadzieję, że to wystarczająca ilość informacji, aby uczynić to zrozumiałym, czego potrzebuję i komuś pomóc.
Ponieważ mam więcej gatunków ryb, jeśli ktoś chciałby dołączyć również opis dodawania kolumny Gatunki, byłoby to pomocne. Oto kod tych samych danych, po prostu skopiowany dla szprota (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))
Twoje zdrowie!
Nie sądzę, aby tagi tego pytania były niepowiązane, ale jeśli nie znajdziesz pasujących tagów do mojego pytania, idź i zmień.