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:
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