如何将字符串因子转换为Date?

时间:2019-04-17 13:26:50

标签: r date

我正在使用包含整数格式日期的伦敦犯罪数据集。我融化了它们,现在它们已经变成factor

例如,"X200801"。我想将其转换为"1/1/2008"

我知道as.Date用于将不同的类型转换为日期格式,但我还是对数据集(即"X200801"中提供的这种日期格式感到有些困惑。

这是我的结构

enter image description here

5 个答案:

答案 0 :(得分:4)

使用基数R,我们可以使用func changeText() { let options = UIView.KeyframeAnimationOptions.calculationModeLinear UIView.animateKeyframes(withDuration: 10, delay: 0, options: options, animations: { UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0.25, animations: { self.label.text = "Good Morning" print("Morning") }) UIView.addKeyframe(withRelativeStartTime: 0.25, relativeDuration: 0.25, animations: { self.label.text = "Good Afternoon" print("Afternoon") }) UIView.addKeyframe(withRelativeStartTime: 0.5, relativeDuration: 0.25, animations: { self.label.text = "Good Evening" print("Evening") }) UIView.addKeyframe(withRelativeStartTime: 0.75, relativeDuration: 0.25, animations: { self.label.text = "Good Night" print("Night") }) }, completion: nil) } @IBAction func didPressBtn(_ sender: Any) { changeText() } 添加日期分量,并使用适当的paste0转换为日期对象。

format

答案 1 :(得分:3)

一种可能性是使用db.collection.aggregate([ { $group: { _id: null, values : { $push: "$values" } } }, { $project: { result: { $reduce: { input: { $slice: [ "$values", 1, { $size: "$values" } ] }, initialValue: { $arrayElemAt: [ "$values", 0 ] }, in: { $map: { input: { $range: [ 0, { $size: "$$this" } ] }, as: "index", in: { $add: [ { $arrayElemAt: [ "$$this", "$$index" ] }, { $arrayElemAt: [ "$$value", "$$index" ] } ] } } } } } } } ])

lubridate

答案 2 :(得分:2)

使用anytime

test=as.factor("X200801")
library(anytime)
anydate((gsub("X","",test)))
[1] "2008-01-01"

如@akrun所建议,我们可以简单地使用addFormats提供将在我们的环境中使用的格式,并使用anydate转换为日期:

addFormats("X%Y%m")
anydate("X200801")

答案 3 :(得分:1)

可以使用fls=list.files('/Users/mzillur/geo/data/E-GEOD-64573/') ids <- read.table(fls[1], header=FALSE, sep="\t")[,1] d1=do.call(cbind,lapply(fls,function(fn)read.table(fn,header=FALSE, sep="\t")[,2])) d2=cbind(ids,d1)

对其进行紧凑地更改
as.yearmon

答案 4 :(得分:0)

您可以从阅读器包中使用parse_datetime:
testdate <- factor("X200801")
parse_datetime(as.character(testdate), format = 'X%Y%M')

我不建议在R中使用MM / DD / YYY。最好以ISO 8601格式保存内容。