R'de melt() işlevi nasıl kullanılır?


Bir veri çerçevesini geniş formattan uzun formata dönüştürmek için R’deki reshape2 paketinin melt() fonksiyonunu kullanabilirsiniz.

Geniş format, ilk sütunda tekrarlanmayan değerleri içerir.

Uzun format, ilk sütunda tekrarlanan değerleri içerir.

Örneğin, farklı formatlarda ifade edilen tamamen aynı verileri içeren aşağıdaki iki veri kümesini düşünün:

Geniş veya uzun veri formatı

melt() işlevi, geniş formatlı bir veri çerçevesini uzun formata dönüştürmek için aşağıdaki temel sözdizimini kullanır:

 melt(df, id=' team ')

Kimlik argümanı, değerleri tekrarlanacak olan veri çerçevesinin ilk sütunu olarak hangi değişkenin kullanılacağını belirtir.

Aşağıdaki örnekte bu fonksiyonun pratikte nasıl kullanılacağı gösterilmektedir.

Örnek: R’de melt() nasıl kullanılır?

R’de şu anda geniş formatta olan aşağıdaki veri çerçevesine sahip olduğumuzu varsayalım:

 #create data frame in wide format
df <- data. frame (team=c('A', 'B', 'C', 'D'),
                 dots=c(88, 91, 99, 94),
                 assists=c(12, 17, 24, 28),
                 rebounds=c(22, 28, 30, 31))

#view data frame
df

  team points assists rebounds
1 A 88 12 22
2 B 91 17 28
3 C 99 24 30
4 D 94 28 31

Veri çerçevesini hızlı bir şekilde uzun formata dönüştürmek için melt() işlevini kullanabiliriz:

 library (reshape2)

#use melt() to convert data frame from wide to long format
long_df <- melt(df, id=' team ')

#view long data frame
long_df

   team variable value
1 A points 88
2 B points 91
3 C points 99
4 D points 94
5 A assists 12
6 B assists 17
7 C assists 24
8 D assists 28
9 A rebounds 22
10 B rebounds 28
11 C rebounds 30
12 D rebounds 31

Veri çerçevesinin artık uzun formatta olduğunu unutmayın.

Sayılar , asistler ve ribaundlar sütunlarının tümü değişken adı verilen tek bir sütunda sıkıştırılmış, değerleri ise değerler adı verilen tek bir sütunda sıkıştırılmıştır.

Sonuçta ortaya çıkan veri çerçevesinin sütunlarını , labels() işlevini kullanarak yeniden adlandırmaktan çekinmeyin:

 #rename columns in long_df
names(long_df) <- c(' team ', ' metric ', ' amount ')

#view updated data frame
long_df

   team metric amount
1 A points 88
2 B points 91
3 C points 99
4 D points 94
5 A assists 12
6 B assists 17
7 C assists 24
8 D assists 28
9 A rebounds 22
10 B rebounds 28
11 C rebounds 30
12 D rebounds 31

Sütunların yeniden adlandırıldığını unutmayın.

Ek kaynaklar

Aşağıdaki eğitimlerde R’de diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

R’deki satırlar nasıl filtrelenir
Bir veri çerçevesi R’ye nasıl aktarılır
R’de veri çerçevesi sütunları nasıl yeniden adlandırılır

Yorum ekle

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