首页 > 解决方案 > R中的Paste0返回日期的奇怪值

问题描述

我有一个 csv 文件作为更大工作的模板,内容如下:

date_field,string1,string2,numeric1,numeric2  
2019-03-09 00:00,abc,def,,0  
2019-03-09 00:02,ghi,jkl,458.4,8444  

我将它放入一个名为“testing”的变量中,并正在使用 paste 和 paste0,并执行以下操作:

testing <- read.csv('C:\\Users\\blahblahblah...\\template.csv')
values <- paste(testing[1])
print(values)

结果:

[1] "1:2"

如果我在原始变量上运行打印,结果是非常正常的:

print(testing[1])

        date_field
1 2019-03-09 00:00
2 2019-03-09 00:02

我已经在谷歌上搜索了大约一个小时,但无法弄清楚出了什么问题。“价值”不是正确的类型吗?

非常感谢Z

标签: rdatedatasetpaste

解决方案


date_field被进口作为一个因素。使用时read.csv(),设置stringsAsFactors = FALSE。这会将您的字符串作为字符导入。date_field如果是字符,您的代码将按预期运行。如果你有date_field一个 POSIXct 或 Date 对象,你也会得到奇怪的结果。

testing <- read.csv('C:\\Users\\blahblahblah...\\template.csv', stringsAsFactors = FALSE)

推荐阅读