fread を使用して、非常に大きな .CSV ファイルをインポートします。一部の列には、削除する必要があるテキストの後に空白があります。これには時間がかかりすぎます (数時間)。
次のコードは機能しますが、system.time のコマンドは非常に遅いです (私のコンピューターでは約 12 秒で、実際のファイルははるかに大きくなります)。
library(data.table)
library(stringr)
# Create example-data
df.1 <- rbind(c("Text1 ", 1, 2), c("Text2 ", 3, 4), c("Text99 ", 5, 6))
colnames(df.1) <- c("Tx", "Nr1", "Nr2")
dt.1 <- data.table(df.1)
for (i in 1:15) {
dt.1 <- rbind(dt.1, dt.1)
}
# Trim the "Tx"-column
dt.1[, rowid := 1:nrow(dt.1)]
setkey(dt.1, rowid)
system.time( dt.1[, Tx2 :={ str_trim(Tx) }, by=rowid] )
dt.1[, rowid:=NULL]
dt.1[, Tx:=NULL]
setnames(dt.1, "Tx2", "Tx")
data.tables の空白を削除するより速い方法はありますか?