Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“转换系数”;年月日;输入R中的YYYY-MM-DD日期_R_Date - Fatal编程技术网

“转换系数”;年月日;输入R中的YYYY-MM-DD日期

“转换系数”;年月日;输入R中的YYYY-MM-DD日期,r,date,R,Date,我有一个变量,它是一个因子格式的日期,由一个缩写的月份和一个没有世纪的年份组成(例如2014年6月)。我想把它转换成一个日期格式,它给我的格式是:YYYY-MM-DD,介绍每个日期的第15天 DN确保R设置为葡萄牙语,然后附加a/15并转换为Date,或者转换为yearmon,然后将其转换为Date,并添加14天。第三种可能是转换为yearmon,并保持原样,因为您实际上是在尝试表示年/月,而不是日期 Sys.getlocale() # next line is only needed if a

我有一个变量,它是一个因子格式的日期,由一个缩写的月份和一个没有世纪的年份组成(例如2014年6月)。我想把它转换成一个日期格式,它给我的格式是:YYYY-MM-DD,介绍每个日期的第15天


DN确保R设置为葡萄牙语,然后附加a/15并转换为
Date
,或者转换为
yearmon
,然后将其转换为
Date
,并添加14天。第三种可能是转换为
yearmon
,并保持原样,因为您实际上是在尝试表示年/月,而不是日期

Sys.getlocale()
# next line is only needed if above line does not show Portuguese
Sys.setlocale(locale="Portuguese")

transform(df, Date = as.Date(paste0(DN, "/15"), "%b/%y/%d"))

library(zoo)
transform(df, Date = as.Date(as.yearmon(DN, "%b/%y")) + 14)

library(zoo)
transform(df, YearMon = as.yearmon(DN, "%b/%y"))

确保R设置为葡萄牙语,然后附加a/15并转换为
Date
,或者转换为
yearmon
,然后将其转换为
Date
并添加14天。第三种可能是转换为
yearmon
,并保持原样,因为您实际上是在尝试表示年/月,而不是日期

Sys.getlocale()
# next line is only needed if above line does not show Portuguese
Sys.setlocale(locale="Portuguese")

transform(df, Date = as.Date(paste0(DN, "/15"), "%b/%y/%d"))

library(zoo)
transform(df, Date = as.Date(as.yearmon(DN, "%b/%y")) + 14)

library(zoo)
transform(df, YearMon = as.yearmon(DN, "%b/%y"))

您可能想告诉我们您在R控制台中使用的语言环境/语言。缩写词dez与我所知的任何语言都不对应。这是一个常见问题:月份和年份不构成日期。或者像您所做的那样添加一个基准日(第一天、第十五天或…),并在粘贴之前转换为字符。还有,考虑四位数的年份。“TimBiegeleisen当然可以!它是(巴西)葡萄牙语月份的缩写。@Naomi没有day元素,日期就不能存在。我猜想,只要在每个字符串前面加上
1/
,就可以解析您可能想要告诉我们的R控制台使用的语言环境/语言的日期。缩写词dez与我所知的任何语言都不对应。这是一个常见问题:月份和年份不构成日期。或者像您所做的那样添加一个基准日(第一天、第十五天或…),并在粘贴之前转换为字符。还有,考虑四位数的年份。“TimBiegeleisen当然可以!它是(巴西)葡萄牙语月份的缩写。@Naomi没有day元素,日期就不能存在。我怀疑只要在每个字符串前面加上
1/
,就可以解析日期谢谢@G.Grothendieck。它工作得几乎完美,除了在df中没有创建新变量,而是在其中添加了一个新的data.frame:
“data.frame”:10 obs。共2个变量:
$DN:Factor w/8 levels“dez/03”、“dez/09”、“6 7 4 6 7 2 8 5 3 1
$DN_Date:'data.frame':10 obs。由两个变量组成:
。$DN:Factor w/8 levels“dez/03”、“dez/09”、“6 7 4 6 7 2 8 5 3 1
。$Date:Date,format:“1979-06-15”“1990-06-15”“1985-02-15”“1979-06-15”…
修改对象不是一种好的做法,但如果您想这样做,那么
df然而,如果我只使用命令
df$DN\u Date Yes,但这强调了糟糕的编程实践,而发布的内容将允许您在不覆盖原始数据帧的情况下创建新的数据帧。谢谢,@G.Grothendieck。它工作得几乎完美,除了在df中没有创建新变量,而是在其中添加了一个新的data.frame:
“data.frame”:10 obs。共2个变量:
$DN:Factor w/8 levels“dez/03”、“dez/09”、“6 7 4 6 7 2 8 5 3 1
$DN_Date:'data.frame':10 obs。由两个变量组成:
。$DN:Factor w/8 levels“dez/03”、“dez/09”、“6 7 4 6 7 2 8 5 3 1
。$Date:Date,format:“1979-06-15”“1990-06-15”“1985-02-15”“1979-06-15”…
修改对象不是一种好的做法,但如果您想这样做,那么
df然而,如果我只使用命令
df$DN\u Date Yes,但这强调了糟糕的编程实践,而发布的内容将允许您在不覆盖原始数据的情况下创建新的数据帧。