Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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 子集数据。按日期帧_R_Date_Subset - Fatal编程技术网

R 子集数据。按日期帧

R 子集数据。按日期帧,r,date,subset,R,Date,Subset,我有一个名为EPL2011\u 12的数据集。我想通过按日期对原始数据集进行子集来创建一个新的数据集。日期在名为Date的列中,日期为DD-MM-YY格式 我试过了 EPL2011_12FirstHalf <- subset(EPL2011_12, Date > 13-01-12) 我猜这意味着R被当作文本而不是数字,这就是为什么它不起作用的原因?好吧,它显然不是一个数字,因为它里面有破折号。错误消息和两条评论告诉您这是一个因素,但评论员显然在等待,让消息逐渐深入人心。德克建议你这

我有一个名为
EPL2011\u 12
的数据集。我想通过按日期对原始数据集进行子集来创建一个新的数据集。日期在名为
Date
的列中,日期为DD-MM-YY格式

我试过了

EPL2011_12FirstHalf <- subset(EPL2011_12, Date > 13-01-12)

我猜这意味着R被当作文本而不是数字,这就是为什么它不起作用的原因?

好吧,它显然不是一个数字,因为它里面有破折号。错误消息和两条评论告诉您这是一个因素,但评论员显然在等待,让消息逐渐深入人心。德克建议你这样做:

 EPL2011_12$Date2 <- as.Date( as.character(EPL2011_12$Date), "%d-%m-%y")

EPL2011\u 12$Date2处理日期变量的第一件事是确认R将其读取为日期。为此,对于名为Date的变量(即向量/列),在名为EPL2011_12的数据框中,输入

class(EPL2011\u 12$Date)

输出应为[1]“日期”。如果没有,您应该通过输入将其格式化为日期


EPL2011\u 12$Date表示您的日期列作为一个因子被读入(大概是在使用
read.table
或类似函数时)。您需要使用例如
as.Date
来转换它。不要忘记
as.character()
,例如使用
as.Date(as.character(X),%d-%m-%y”)
@DirkEddelbuettel没有
as.Date.factor
方法,或者我误解了它的作用……有趣。那一定是新的。过去我经常被
as.Date(factorvar)
咬,
factorvar
成为它的等级…如果有其他日期类型,如2013/01/01 13:34:59,您可以参考更多格式细节。
Warning message:
In Ops.factor(Date, 13- 1 - 12) : > not meaningful for factors
 EPL2011_12$Date2 <- as.Date( as.character(EPL2011_12$Date), "%d-%m-%y")
 EPL2011_12FirstHalf <- subset(EPL2011_12, Date2 > as.Date("2012-01-13") )