Я создал фрейм данных из десяти строк, а затем преобразовал его в таблицу данных. Я создал его снова с другим порядком столбцов. Когда я преобразовал его в datatable, результат был ложным.
c <- pi
e <- paste("lotsa text, line", as.character(1:10))
g <- 987654321L
a <- raw(length = 10)
df <- cbind.data.frame(c, e, g, a, stringsAsFactors = FALSE)
str(df)
z <- c(rep(as.bigz("123456789012345678901234567890123456"), times = 10))
df[,4] <- z
str(df)
dt <- data.table(df)
str(dt)
Я получил то, что ожидал.
Classes ‘data.table’ and 'data.frame': 10 obs. of 4 variables:
df <- cbind.data.frame(a, c, e, g, stringsAsFactors = FALSE)
str(df)
df[,1] <- z
str(df)
dt <- data.table(df)
str(dt)
На этот раз я получаю бонус, 234 дополнительных строки:
Classes ‘data.table’ and 'data.frame': 244 obs. of 4 variables:
Я не уверен, что хочу верить в эту последовательность команд. Какая альтернатива? По крайней мере, cbind.data.frame
не приводит к столбцам, как cbind
.