R'de veri çerçevesi nasıl bölülür (örneklerle)


R’de bir veri çerçevesini birden çok daha küçük veri bloğuna bölmek için aşağıdaki üç yöntemden birini kullanabilirsiniz:

Yöntem 1: Veri çerçevesini satır değerlerine göre manuel olarak bölme

 #define first n rows to include in first data frame
n <- 4

#split data frame into two smaller data frames
df1 <- df[row. names (df) %in% 1:n, ]
df2 <- df[row. names (df) %in% (n+1):nrow(df), ]

Yöntem 2: Veri çerçevesini eşit boyutta n veri çerçevesine bölün

 #define number of data frames to split into
n <- 3

#split data frame into n equal-sized data frames
split(df, factor(sort(rank(row. names (df)) %% n)))

Yöntem 3: Veri çerçevesini sütun değerine göre bölme

 #split data frame based on particular column value
df1 <- df[df$column_name == 0, ]
df2 <- df[df$column_name != 0, ]

Aşağıdaki örnekler, her yöntemin pratikte aşağıdaki veri çerçevesiyle nasıl kullanılacağını gösterir:

 #create data frame
df <- data. frame (ID=c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12),
                 sales=c(7, 8, 8, 7, 9, 7, 8, 9, 3, 3, 14, 10),
                 leads=c(0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0))

#view data frame
df

   Sales lead ID
1 1 7 0
2 2 8 0
3 3 8 1
4 4 7 1
5 5 9 0
6 6 7 1
7 7 8 1
8 8 9 0
9 9 3 1
10 10 3 0
11 11 14 1
12 12 10 0

Yöntem 1: Veri çerçevesini satır değerlerine göre manuel olarak bölme

Aşağıdaki kod, bir veri çerçevesinin iki küçük veri bloğuna nasıl bölüneceğini gösterir; ilki 1’den 4’e kadar olan satırları ve ikincisi son satıra kadar olan 5’i içerir:

 #define row to split on
n <- 4

#split into two data frames
df1 <- df[row. names (df) %in% 1:n, ]
df2 <- df[row. names (df) %in% (n+1):nrow(df), ]

#view resulting data frames
df1

  Sales lead ID
1 1 7 0
2 2 8 0
3 3 8 1
4 4 7 1

df2

   Sales lead ID
5 5 9 0
6 6 7 1
7 7 8 1
8 8 9 0
9 9 3 1
10 10 3 0
11 11 14 1
12 12 10 0

Yöntem 2: Veri çerçevesini eşit boyutta n veri çerçevesine bölün

Aşağıdaki kod, bir veri çerçevesinin eşit boyuttaki n veri çerçevesine nasıl bölüneceğini gösterir:

 #define number of data frames to split into
n <- 3

#split data frame into n equal-sized data frames
split(df, factor(sort(rank(row. names (df)) %% n)))

$`0`
  Sales lead ID
1 1 7 0
2 2 8 0
3 3 8 1
4 4 7 1

$`1`
  Sales lead ID
5 5 9 0
6 6 7 1
7 7 8 1
8 8 9 0

$`2`
   Sales lead ID
9 9 3 1
10 10 3 0
11 11 14 1
12 12 10 0

Sonuç, eşit boyutta üç veri çerçevesidir.

Yöntem 3: Veri çerçevesini sütun değerine göre bölme

Aşağıdaki kod, belirli bir sütunun değerine göre bir veri çerçevesinin iki veri çerçevesine nasıl bölüneceğini gösterir:

 #split data frame based on particular column value
df1 <- df[df$leads == 0, ]
df2 <- df[df$leads != 0, ]

#view resulting data frames
df1

   Sales lead ID
1 1 7 0
2 2 8 0
5 5 9 0
8 8 9 0
10 10 3 0
12 12 10 0

df2

   Sales lead ID
3 3 8 1
4 4 7 1
6 6 7 1
7 7 8 1
9 9 3 1
11 11 14 1

df1’in orijinal veri çerçevesinde “öncülüklerin” sıfıra eşit olduğu tüm satırları içerdiğini ve df2’nin orijinal veri çerçevesinde “öncülüklerin” bire eşit olduğu tüm satırları içerdiğini unutmayın.

Ek kaynaklar

Aşağıdaki eğitimlerde R’de diğer yaygın işlemlerin nasıl gerçekleştirileceği açıklanmaktadır:

R’de birden fazla veri çerçevesi nasıl birleştirilir
R’de veri çerçevesi sütunları nasıl istiflenir
R’deki diğer sütunlara dayalı olarak veri çerçevesine sütun nasıl eklenir

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir