2
ile kategorik gelen ikili değişkenler oluşturma Bu data.table var:seyrek matrisin
df <- data.table(u = c(1,2,3,4,5), d = c(1,2,0,1,2), V1 = c(0.3, 0.2, 0.2, 0.1, 0.2),
pred = c(1,2,0,1,0), sec_pred = c(2,1,0,1,0), ones = rep(1,5))
# u d V1 pred sec_pred ones
#1: 1 1 0.3 1 2 1
#2: 2 2 0.2 2 1 1
#3: 3 0 0.2 0 0 1
#4: 4 1 0.1 1 1 1
#5: 5 2 0.2 0 0 1
Ve bu bir benzeri matrisi almak istiyorum:
dcast(df, u + d + V1 ~ pred + sec_pred, fill = 0, value.var = 'ones')
# d V1 u 0_0 1_1 1_2 2_1
#1: 0 0.2 3 1 0 0 0
#2: 1 0.1 4 0 1 0 0
#3: 1 0.3 1 0 0 1 0
#4: 2 0.2 2 0 0 0 1
#5: 2 0.2 5 1 0 0 0
Ama çok büyük bir veriye sahip olarak .table, seyrek bir matris oluşturmak istiyorum. Ama biz order
gerekiyorsa
Teşekkürler! Tüm olası kombinasyonları istiyorsam, kodunuzu nasıl değiştirmeliyim? –
@VitaliyRadchenko Bu durumda, veri kümesinin benzersiz değerlerinde "taranmış" yı kullanın. Sağladığınız örnekle, net değildi. – akrun
@VitaliyRadchenko Belki de 'df2 <- expand.grid (rep (liste (benzersiz (c (ds $ pred, df $ sec_pred)))), 2)), sütunları birlikte yapıştırın ve orijinalden yapıştırma elemanları ile kontrol edin Veri kümesi. – akrun