嘿,我是使用R的新手,所以这个问题对你们很多人来说都很容易,但我真的很蠢。 我的数据集中有一个名为datum的列。 它由R作为因子来处理 $ Datum:因子w / 550水平" 1-10-2014"," 1-10-2015",..:203 203 203 203 203 203 203 203 203 399 ...... 当我尝试将此因子转换为日期时,我得到结果NA。 我试过几件事:
> prijzen$Datum <- as.Date(prijzen$Datum, format='%d/%m/%y')
> prijzen$Datum<- as.Date(as.character(prijzen$Datum), format="%d/%m/%y")
即使用stringsAsFactors = FALSE读取文件也没有用。 我怎么能解决这个问题?
答案 0 :(得分:1)
您的格式错误,您可以使用:
prijzen <- data.frame(Datum = c("1-10-2014","1-10-2015"), prijs = c(125, 150))
prijzen$Datum <- as.Date(prijzen$Datum, format='%d-%m-%Y')
这会将“基准”列格式化为日期,并可用于日期计算。 R中的默认格式遵循ISO 8601国际标准的规则,该标准将日期表示为&#34; 2001-02-03&#34;
但是看看你在阅读数据的方式。例如,如果您使用的是read.csv,请尝试使用选项colClasses
指定列。
根据评论进行编辑,格式化输出,结果采用dd-mm-yyyy格式而非标准iso格式:
prijzen$Datum <- format(as.Date(prijzen$Datum, format='%d-%m-%Y'), '%d-%m-%Y')
这会将Datum列转换为字符列。这更适用于打印日期或导出日期。