olarak karakterini depolamak sonra Likert Ölçekli ürün 0-4 kodlu olması df. Bunları ham dosyadan R'ye aktardıktan sonra, karakter olarak saklandılar. Daha sonra her değişkenin bir karakter olup olmadığını belirten boolean ile bir liste oluşturdum ve sonra bunu faktöre dönüştürmek için lapply kullandı.Yanlış seviyeleri benim dataframe olarak faktör
(tümü orijinal 0-4 olarak kodlanmıştır) artık faktör değişkenlerden bazıları bakaraki <- sapply(df, is.character)
df[i] <- lapply(df[i], as.factor)
, alıyorum:
df$reactance1
[1] 3 3 4 3 2 4 1 4 3 3 1 1 4 3 4 3 4 4
Levels: 1 2 3 4 3 4
veya
df$EAI4
[1] 0 0 2 1 2 0 3 4 1 3 0 0 0 0 0 0 1 0
Levels: 0 1 2 3 4 0 1 2
Ben çözmeye çalıştı droplevels ile ilgili sorun()
Benim sanırım R, bir nedenden ötürü, bir karakter 3'ün başka bir karakter 3'ten farklı olduğunu düşünür, ancak aynı şekilde tedavi edilmeleri gerekir. Bu çok fazla seviyeye yol açar. Ham verilerimi, bazı sayıların önünde boşlukların olup olmadığını kontrol ettim, ama öyle görünmüyor.
Yardımlarınız için şimdiden teşekkür ederiz!
/gecikmeli boşluk yani '" 3 ''veya'' 3 ''veya' lider için 'karakteri' sütunları kontrol' 3" ', üç durumda tüm farklı seviyeleri olacaktır Faktöre dönüştürdüğünüzde. – akrun
Teşekkürler. as.data.frame (apply (df, 2, function (x) gsub ('\\ s +', '', x))) çözüldü – Dirk
Kafam karıştı ... Bunlar ham dosyada nasıl saklandı? Sayı veya karakter olarak mı? Çünkü onlar sayı olarak depolanmışlar, ancak R onları karakter olarak okurlarsa, ithal kodunuzdaki bazı parametreleri değiştirmek isteyebilirsiniz. Ben sayısal karakteri değiştirmeye çalışırsanız – Laterow