Jak podzielić ramkę danych na listę wartości w r


Możesz użyć jednej z następujących metod, aby poddefiniować ramkę danych za pomocą listy wartości w R:

Metoda 1: Użyj podstawy R

 df_new <- df[df$my_column %in% vals,]

Metoda 2: użyj dplyr

 library (dplyr)

df_new <- filter(df, my_column %in% vals)

Metoda 3: Użyj data.table

 library (data.table)

df_new <- setDT(df, key=' my_column ')[J(vals)]

Poniższe przykłady pokazują, jak w praktyce zastosować każdą z tych metod z następującą ramką danych w R:

 #create data frame
df <- data. frame (team=c('A', 'B', 'B', 'B', 'C', 'C', 'C', 'D'),
                 points=c(12, 22, 35, 34, 20, 28, 30, 18),
                 assists=c(4, 10, 11, 12, 12, 8, 6, 10))

#view data frame
df

  team points assists
1 to 12 4
2 B 22 10
3 B 35 11
4 B 34 12
5 C 20 12
6 C 28 8
7 C 30 6
8 D 18 10

Metoda 1: podzbiór ramki danych według listy wartości w bazie R

Poniższy kod pokazuje, jak podzielić ramkę danych na podzbiór, tak aby zawierała tylko wiersze z wartością „A” lub „C” w kolumnie zespołu :

 #define values to subset by
vals <- c(' A ', ' C ')

#subset data frame to only contain rows where team is 'A' or 'C'
df_new <- df[df$team %in% vals,]

#view results
df_new

  team points assists
1 to 12 4
5 C 20 12
6 C 28 8
7 C 30 6

Wynikowa ramka danych zawiera tylko wiersze, które w kolumnie Zespół mają wartość „A” lub „C”.

Zauważ, że w tym przykładzie użyliśmy podstawowych funkcji R, więc nie musieliśmy ładować żadnych dodatkowych pakietów.

Metoda 2: Podzbiór ramki danych według listy wartości w dplyr

Poniższy kod pokazuje, jak podzielić ramkę danych na podzbiór tak, aby zawierała tylko wiersze o wartości „A” lub „C” w kolumnie zespołu przy użyciu funkcji filter() z pakietu dplyr :

 library (dplyr)

#define values to subset by
vals <- c(' A ', ' C ')

#subset data frame to only contain rows where team is 'A' or 'C'
df_new <- filter(df, team %in% vals)

#view results
df_new

  team points assists
1 to 12 4
5 C 20 12
6 C 28 8
7 C 30 6

Wynikowa ramka danych zawiera tylko wiersze, które w kolumnie Zespół mają wartość „A” lub „C”.

Metoda 3: Podzestaw ramkę danych według listy wartości w data.table

Poniższy kod pokazuje, jak podzielić ramkę danych na podzbiór tak, aby zawierała tylko wiersze z wartością „A” lub „C” w kolumnie zespołu , korzystając z funkcji z pakietu data.table :

 library (data.table)

#define values to subset by
vals <- c(' A ', ' C ')

#subset data frame to only contain rows where team is 'A' or 'C'
df_new <- setDT(df, key=' team ')[J(vals)]

#view results
df_new

   team points assists
1: A 12 4
2: C 20 12
3: C 28 8
4: C 30 6

Wynikowa ramka danych zawiera tylko wiersze, które w kolumnie Zespół mają wartość „A” lub „C”.

Powiązane: Jak używać operatora %in% w R (z przykładami)

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w języku R:

Jak podzielić ramkę danych według poziomów współczynników w R
Jak poddefiniować według zakresu dat w R
Jak wykreślić podzbiór ramki danych w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *