粘贴(data.frame(a=as.character(as.日期( "2019-12-31" ))))


#eg1:
paste(data.frame(a=as.character(as.Date("2019-12-31"))))
[1]"1"
#eg2:
paste(data.table(a=as.character(as.Date("2019-12-31"))))
[1]"2019-10-12"
#eg3:
paste(data.frame(a=as.Date("2019-12-31")))
[1] 18261

我的期望就像eg2,但我不想使用data.table

我只有一个问题:如何解决此问题,包括 eg2 和 eg3 ?

当你把一个字符放到一个数据帧中时,它变成了一个因子。当您打印一个因子时,看起来 data.table 和 data.frame 的强制方式不同。对于您的特定情况,我能够通过在使用粘贴之前取消列出并转换为字符来绕过它。

> paste(as.character(unlist(data.frame(a=as.character(as.Date("2019-12-31"))))))
[1] "2019-12-31"

或者,您可以通过设置stringsAsFactors = FALSE并避免因子转换来避免这种情况。

> paste(data.frame(a=as.character(as.Date("2019-12-31")), stringsAsFactors = FALSE))
[1] "2019-12-31"

如果您想要查看数据框中包含的内容,我不明白为什么要尝试使用paste()相反,只需输入数据框的变量名称:

df <- data.frame(a=as.character(as.Date("2019-12-31")))
df
a
1 2019-12-31

最新更新