Jak korzystać z funkcji wycinania () w r
Funkcja cut() w R może służyć do wycinania zakresu wartości do pojemników i określania etykiet dla każdego pojemnika.
Ta funkcja wykorzystuje następującą składnię:
wycinanie(x, przerwy, etykiety = NULL, …)
Złoto:
- x : nazwa wektora
- breaks : Liczba przerw do wykonania lub wektor punktów przerwania
- etykiety : etykiety dla wynikowych pojemników
Poniższe przykłady pokazują, jak używać tej funkcji w różnych scenariuszach z następującą ramką danych w R:
#create data frame
df <- data. frame (player=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'),
points=c(4, 7, 8, 12, 14, 16, 20, 26, 36))
#view data frame
df
player points
1 to 4
2 B 7
3 C 8
4 D 12
5 E 14
6 F 16
7 G 20
8:26 a.m.
9 I 36
Przykład 1: Wytnij wektor na podstawie liczby przerw
Poniższy kod pokazuje, jak użyć funkcji cut() do utworzenia nowej kolumny o nazwie kategoria , która przecina kolumnę punktów na grupy o czterech równych rozmiarach:
#create new column that places each player into four categories based on points
df$category <- cut(df$points, breaks= 4 )
#view updated data frame
df
player points category
1 to 4 (3.97.12]
2 B 7 (3.97.12]
3 C 8 (3.97.12]
4 D 12 (3.97.12]
5 E 14 (12.20]
6 F 16 (12.20]
7 G 20 (12.20]
8:26 a.m. (20.28]
9 I 36 (28.36]
Ponieważ określiliśmy breaks=4 , funkcja cut() dzieli wartości w kolumnie punktowej na grupy o czterech równych rozmiarach.
Oto jak funkcja cut() to zrobiła:
- Najpierw znalazł różnicę pomiędzy największą i najmniejszą wartością w kolumnie punktów (36 – 4 = 32).
- Następnie dzieli tę różnicę przez 4 (32/4 = 8)
- Rezultatem są cztery pojemniki o szerokości 8 każdy.
Uwaga : najniższy interwał wynosi 3,97 zamiast 4 ze względu na następującą funkcjonalność z dokumentacji cięcia() :
Jeśli przerwy są określone jako pojedyncza liczba, zakres danych jest dzielony na fragmenty pauz o równej długości, a następnie zewnętrzne granice są przesuwane o 0,1% od zakresu, aby zapewnić, że wartości odstające mieszczą się w obu przedziałach pauz.
Przykład 2: Wektor cięcia oparty na określonych punktach przerwania
Poniższy kod pokazuje, jak użyć funkcji cut() do utworzenia nowej kolumny o nazwie kategoria , która przecina kolumnę punktów w oparciu o wektor określonych punktów przerwania:
#create new column based on specific break points
df$category <- cut(df$points, breaks=c(0, 10, 15, 20, 40))
#view updated data frame
df
player points category
1 to 4 (0.10]
2 B 7 (0.10]
3 C 8 (0.10]
4 D 12 (10.15]
5 E 14 (10.15]
6 F 16 (15.20]
7 G 20 (15.20]
8:26 a.m. (20.40)
9 I 36 (20.40]
Funkcja cut() klasyfikowała każdego gracza na kategorie w oparciu o podany przez nas wektor punktów przerwania.
Przykład 3: Wytnij wektor, używając określonych punktów przerwania i etykiet
Poniższy kod pokazuje, jak użyć funkcji cut() do utworzenia nowej kolumny o nazwie kategoria , która odcina kolumnę punktów na podstawie wektora określonych punktów przerwania z niestandardowymi etykietami:
#create new column based on values in points column
df$category <- cut(df$points,
breaks=c(0, 10, 15, 20, 40),
labels=c(' Bad ', ' OK ', ' Good ', ' Great '))
#view updated data frame
df
player points category
1 A 4 Bad
2 B 7 Bad
3 C 8 Bad
4 D 12 OK
5 E 14 OK
6 F 16 Good
7 G 20 Good
8:26 A.M. Great
9 I 36 Great
Nowa kolumna kategorii klasyfikuje każdego gracza jako złego, OK, dobrego lub doskonałego w oparciu o odpowiednią wartość w kolumnie punktów .
Uwaga : liczba etykiet musi być zawsze o jeden mniejsza niż liczba punktów przerwania, aby uniknąć następującego błędu:
Error in cut.default(df$points, breaks = c(0, 10, 15, 20, 40), labels = c("Bad",:
lengths of 'breaks' and 'labels' differ
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak korzystać z innych typowych funkcji w R:
Jak korzystać z funkcji tabulate() w R
Jak korzystać z funkcji split() w R
Jak korzystać z funkcji match() w R
Jak korzystać z funkcji replikacji () w R