Bir vektör tablosunda bir veri tablosunda seçilen değişkenlerin sınıfını değiştirmek istiyorum. Data.table sözdiziminde yeniyim ve olabildiğince öğrenmeye çalışıyorum. Şimdi soru temel, ama veri tablosunu düşünme şeklini daha iyi anlamama yardımcı olacak!Veri Tablosunda seçim sütunlarını yeniden sınıflandır Tablo
Benzer bir soru here! Bununla birlikte, çözüm sadece bir sütunu veya tüm sütunları yeniden sınıflandırmakla ilişkili görünüyor. Sorum şu seçilmiş birkaç sütuna özgüdür.
### Load package
require(data.table)
### Create pseudo data
data <- data.table(id = 1:10,
height = rnorm(10, mean = 182, sd = 20),
weight = rnorm(10, mean = 160, sd = 10),
color = rep(c('blue', 'gold'), times = 5))
### Reclass all columns
data <- data[, lapply(.SD, as.character)]
### Search for columns to be reclassed
index <- grep('(id)|(height)|(weight)', names(data))
### data frame method
df <- data.frame(data)
df[, index] <- lapply(df[, index], as.numeric)
### Failed attempt to reclass columns used the data.table method
data <- data[, lapply(index, as.character), with = F]
Herhangi bir yardım için teşekkür ederiz. Verilerim geniştir ve yeniden sınıflandırmak için sütun numaralarının bir vektörünü oluşturmak için normal ifadeler kullanmak gereklidir.
Zaman ayırdığınız için teşekkür ederiz.
+1 işte bu kadar! Tamam, cevabım yanlış olduğu için onu sileceğim. –
Hayır yapmayın, bu hileyi ('.SDCols') sizlerle birlikte öğrendim ... – dickoa
(+1) 'indeks' de doğrudan geçebilirsiniz. data [, c (index): = lapply (.SD, as.character), .SDcols = index] ' – Arun