Böyle bir durumunuz vardı. Data.frame'den data.table'a "mtcars" sınıfını çevirmeye çalıştı.veri dosyasını data.table sütununa dönüştür
"mtcars" veriler:
> mtcars
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
Orijinal sınıf "data.frame" dir.
> str(mtcars)
'data.frame': 32 obs. of 11 variables:
$ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
$ cyl : num 6 6 4 6 8 6 8 4 4 6 ...
$ disp: num 160 160 108 258 360 ...
$ hp : num 110 110 93 110 175 105 245 62 95 123 ...
$ drat: num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
$ wt : num 2.62 2.88 2.32 3.21 3.44 ...
$ qsec: num 16.5 17 18.6 19.4 17 ...
$ vs : num 0 0 1 1 0 1 0 1 1 1 ...
$ am : num 1 1 1 0 0 0 0 0 0 0 ...
$ gear: num 4 4 4 3 3 3 3 4 4 4 ...
$ carb: num 4 4 1 1 2 1 4 2 2 4 ...
Data.table dosyasına dönüştürün. Araba markaları için Sütunlar gitti gitti. Niye ya? Markalar sütunu nasıl korunur? markaların ilk sütun için YENİ bir sütun adı "Markaları" sahip -
> mtcars2 <- data.table(mtcars)
> mtcars2
mpg cyl disp hp drat wt qsec vs am gear carb
1: 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
2: 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
3: 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
aşağıda nihai veri formatı ile bir data.table sahip olmak ister misiniz. Orijinal "mtcars" veri kümesinden "Markalar" sütununu eklemek nasıl kodlanır?
Brands mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
İşaretçi için teşekkürler. – KFB
Alternatif olarak, "rn" varsayılanından başka bir isim seçmek istiyorsanız 'data.table (mtcars, keep.rownames =" Brands ")' yazabilirsiniz. (Kullanılan data.table'ın CRAN sürümü 1.10.4). – Uwe
@UweBlock 1.10.5'te test ediliyor, bu Markalar sütununu oluşturmuyor. Bu setDT için çalışıyor, yine de ... Bunu düzenliyorum. Teşekkürler – Frank