Sorun nasıl çözülür: "sütun adlarını" ayarlamayı deneyin; iki boyuttan daha küçük bir nesne üzerinde


R’yi kullanırken karşılaşabileceğiniz bir hata mesajı:

 Error in `colnames<-`(`*tmp*`, value = c("var1", "var2", "var3")): 
  attempt to set 'colnames' on an object with less than two dimensions

Bu hata genellikle veri çerçevesi veya matris olmayan bir nesne üzerinde sütun adlarını ayarlamak için colnames() işlevini kullanmaya çalıştığınızda ortaya çıkar.

Aşağıdaki örnekte bu hatanın pratikte nasıl çözüleceği gösterilmektedir.

Hata nasıl yeniden oluşturulur?

R’de aşağıdaki veri çerçevesine sahip olduğumuzu varsayalım:

 #create data frame
df <- data. frame (team=c('A', 'A', 'C', 'B', 'C', 'B', 'B', 'C', 'A'),
                 points=c(12, 8, 26, 25, 38, 30, 24, 24, 15),
                 rebounds=c(10, 4, 5, 5, 4, 3, 8, 18, 22))

#view data frame
df

  team points rebounds
1 to 12 10
2 to 8 4
3 C 26 5
4 B 25 5
5 C 38 4
6 B 30 3
7 B 24 8
8 C 24 18
9 to 15 22

Şimdi veri çerçevesinin sonuna yeni bir satır eklemeye çalıştığımızı varsayalım:

 #define new row to add to end of data frame
new_row <- c('D', 15, 11)

#attempt to define column names for new row
colnames(new_row) <- colnames(df)

Error in `colnames<-`(`*tmp*`, value = c("team", "points", "rebounds")): 
  attempt to set 'colnames' on an object with less than two dimensions

Bir veri çerçevesi veya matris yerine bir vektör üzerinde colnames() işlevini kullandığımız için bir hata alıyoruz.

Hata nasıl düzeltilir?

Bu hatayı önlemek için colnames() işlevini bir veri çerçevesiyle kullandığımızdan emin olmamız gerekir:

Örneğin veri çerçevesinin sonuna yeni bir satır eklemek için aşağıdaki kodu kullanabiliriz.

 #define new row to add to end of data frame
new_row <- data. frame ('D', 15, 11)

#define column names for new row
colnames(new_row) <- colnames(df)

#add new row to end of data frame
df <- rbind(df, new_row)

#view updated data frame
df

   team points rebounds
1 to 12 10
2 to 8 4
3 C 26 5
4 B 25 5
5 C 38 4
6 B 30 3
7 B 24 8
8 C 24 18
9 to 15 22
10 D 15 11

Bu sefer herhangi bir hata alamıyoruz çünkü bir vektör yerine bir veri çerçevesinin sütun adlarını ayarlamak için colnames() fonksiyonunu kullandık.

Daha sonra yeni satırı mevcut veri çerçevesinin sonuna bağlamak için rbind() işlevini başarıyla kullanabiliriz.

Ek kaynaklar

Aşağıdaki eğitimlerde R’deki diğer yaygın hataların nasıl düzeltileceği açıklanmaktadır:

R’de nasıl düzeltilir: bağımsız değişkenler farklı sayıda satır içerir
R’de nasıl düzeltilir: kullanılmayan bağımsız değişkenlerin seçiminde hata
R’de nasıl onarılır: değiştirmenin uzunluğu sıfırdır

Yorum ekle

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