c
bir sütun için belirli bir değer ve x
verilen bir değer c==x
ve 0 ise 1
'a eşittir. Genellikle, bir sütun c
için kuklalar oluşturarak, bir seçim x
birini hariç, son kukla sütun herhangi bir bilgi w.r.t. Zaten mevcut olan kukla sütunlar. İşteR: Bir (uzun) dummies listesi oluştururken uyarı
Ben data.table
yılında, bir sütun firm
için mankenleri uzun bir liste oluşturmak için çalışıyorum edebilirsiniz:
values <- unique(myDataTable$firm)
cols <- paste('d',as.character(inds[-1]), sep='_') # gives us nice d_value names for columns
# the [-1]: I arbitrarily do not create a dummy for the first unique value
myDataTable[, (cols):=lapply(values[-1],function(x)firm==x)]
Bu kod güvenilir küçük benzersiz değerleri vardı önceki sütunlar, çalıştı. firm
Ancak büyüktür:
Warning message:
truelength (6198) is greater than 1000 items over-allocated (length = 36). See ?truelength. If you didn't set the datatable.alloccol option very large, please report this to datatable-help including the result of sessionInfo().
Bildiğim kadarıyla söyleyebilirim, hala tek ihtiyacım sütunlar vardır:
tr(values)
num [1:3082] 51560090 51570615 51603870 51604677 51606085 ...
Ben sütunlar eklemek için çalışan bir uyarı olsun. Bu sorunu görmezden gelebilir miyim? Gelecekteki hesaplamaları yavaşlatacak mı? Bunun ne yapılacağını ve truelength
ile ilgili emin değilim.
verileri, sadece bir örneği kullanmak sağlamak 'dput (myDataTable [01:10])'. ** Düzenle: ** eklenecek sütunların boyutuyla ilgili gibi görünüyor, bu nedenle örnek verilerinin paylaşılması kolay olmayabilir. Belirtilen seçeneği "length (values)" olarak ayarlamayı denediniz mi? – jangorecki
6000+ sütun?!? :-O. '' Truelength' 'u okuyunuz ve 'n' argümanını' n' argümanı ile yarattığınız sütunların ne kadarında yedek yuvalar oluşturursunuz .. aksi takdirde uyarıyı alırsınız çünkü her defasında fazla tahsis ettik yuvalar kullanılır .. – Arun
@Arun 'ncol (myDataTable)' bana [1] 3085' verir, böylece mesaj gerçekten anlam ifade etmiyor. Preallocate yapmadığım büyük bir yığın sütun eklediğimde her zaman etkisiz olduğumu doğru anlıyor muyum? Bu durumda, bu benzersiz bir işlem olduğundan, sanırım iyiyim. – FooBar