以下是一个可重现的示例,显示了问题:
在执行 head(openSummaryDT) 时出现错误。
openSummary <- read.table(textConnection(
"Dates dollarA numTotal
7/3/2011 52730.56 1614
7/10/2011 77709.43 1548"), header = TRUE)
openSummary$Dates <- strptime(openSummary$Dates,"%m/%d/%Y")
str(openSummary)
head(openSummary) # No problem
openSummaryDT <- data.table(openSummary)
str(openSummaryDT)
head(openSummaryDT) # An error is produced
在执行 head(openSummaryDT) 时出现错误。
Error in `rownames<-`(`*tmp*`, value = paste(format(rn, right = TRUE), :
length of 'dimnames' [1] not equal to array extent
请解释错误原因并说明如何避免。但是,我发现可以在数据框和数据表上进行某些操作,并且得到相同的结果。
difftime(Sys.Date(), openSummary[ ,"Dates"])
difftime(Sys.Date(), openSummaryDT[ ,Dates])
非常感谢您的提前帮助
data.table
不支持 POSIXlt 列(请参见此处)。 - mnelPOSIXlt
)。 - BrodieG