日期选择中的空数据框

时间:2016-09-13 07:27:02

标签: r date

我有一个3262行和10列的数据框。其中一列的日期格式为YY-MM-DD。我想在不同的数据框中存储10个不同日期的所有行,所以我尝试了:

newdata= df[df$Date %in% as.Date(c('2011-08-05','2012-1-13','2012-03-2','2014-04-01')),]

但没有。我认为可能需要再次指定格式,所以我尝试了:

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

newdata= df[df$Date %in% as.Date(c('2011-08-05','2012-1-13','2012-03-2','2014-04-01')),]

我得到的只是一个空数据框no data available in table。在那一点上我犯了错误(我猜是愚蠢的)?

1 个答案:

答案 0 :(得分:0)

我创建了一个例子:

while( (line = reader.ReadLine()) != null) 
{
    string[] values = line.Split(',');
    if (values.Length < 3)
    {
        Console.Error.WriteLine("Invalid input line: " + line);
        continue;
    }

    string name = values[0];
    int euros;
    if (!int.TryParse(values[1], out euros))
    {
        Console.Error.WriteLine("Invalid euros value in the line: " + line);
        continue;
    }
    int cents;
    if (!int.TryParse(values[2], out cents))
    {
        Console.Error.WriteLine("Invalid cents value in the line: " + line);
        continue;
    }
    Console.WriteLine(euros);
    //Turistai tourists = new Turistai(name, euros, cents);
    amount++;
}

使用您提供的相同代码:

set.seed(1)
df=data.frame(col1=seq(1,10),
    col2=seq(1,0),
    Date=as.Date(floor(runif(min=15550,max=17000,n=10)),origin="1970-01-01"))
> df
   col1 col2       Date
1     1    1 2013-08-17
2     2    0 2014-01-19
3     3    1 2014-11-06
4     4    0 2016-03-06
5     5    1 2013-05-17
6     6    0 2016-02-21
7     7    1 2016-04-28
8     8    0 2015-03-14
9     9    1 2015-01-27
10   10    0 2012-10-26

给我

newdata= df[df$Date %in% as.Date(c('2013-08-17','2015-01-27')),]

您确定> newdata col1 col2 Date 1 1 1 2013-08-17 9 9 1 2015-01-27 显示您确实有日期格式吗?

str(df$Date)