每天盘点/列表后删除下一行;在R

每天盘点/列表后删除下一行;在R,r,date,count,delete-row,R,Date,Count,Delete Row,我发现很难对这一点保持清醒: 在下面的数据框中,我想删除每个计数/列表之后的下一行,比如说,星期四,星期五,等等。我不喜欢使用循环,因为数据很大 mydata<- read.table(header=TRUE, text=" Date AAPL.ret Weekday Thursday 1 2001-01-04 0.000000000星期四1 2 2001-01-04 0.000000000星期四1 3 2001-01-04-0.025317808星期四1 4 20

我发现很难对这一点保持清醒: 在下面的数据框中,我想删除每个计数/列表之后的下一行,比如说,星期四,星期五,等等。我不喜欢使用循环,因为数据很大

mydata<- read.table(header=TRUE, text=" 

    Date     AAPL.ret  Weekday Thursday
1 2001-01-04 0.000000000星期四1 2 2001-01-04 0.000000000星期四1 3 2001-01-04-0.025317808星期四1 4 2001-01-04 0.014545711星期四1 5 2001-01-04 0.007194276星期四1 6 2001-01-04-0.007194276星期四1 7 2001-01-05 0.0056338177星期五0 8 2001-01-05 0.0037383221星期五0 9 2001-01-05 0.0000000000星期五0 11 2002-02-25-3.511856e-03星期一0 12 2002-02-25-4.398505e-04星期一0 13 2002-02-25-2.643173e-03星期一0 14 2002-02-25 4.401416e-03星期一0 15 2002-02-26-8.243166e-04星期二0 16 2002-02-26 9.533751e-03星期二0 17 2002-02-26 4.527688e-03星期二0 18 2002-02-26 4.105933e-04星期二0 ............. 100 2002-03-01 1.990115e-02星期五0 101 2002-03-01-1.344387e-03星期五0 102 2002-03-01-1.445373e-02星期五0

先谢谢你。对不起,如果我问错了这个问题。这是我第一次在这里提问;我尽可能地遵守规则;尤其是表格的显示方式

我相信,我尝试过的代码与我想要的答案相去甚远。只是计算和细分;在下面 表(ret.df$工作日==“星期四”)
r1我们可以使用
数据表来实现这一点

library(data.table)
setDT(mydata)[, .SD[(seq_len(.N) != 1)], Date]
如果我们想保留数据集的第一行

setDT(mydata)[, .SD[(seq_len(.N) != 1)|seq_len(.N)==.I[1]], Date]

或使用
dplyr

library(dplyr)
mydata %>%
      group_by(Date) %>%
      filter(row_number() != 1)

如果“日期”列为订单,则使用
base R

mydata[duplicated(mydata$Date),]
或包含第一行

mydata[duplicated(mydata$Date)|1:nrow(mydata)==1,]

我们可以使用
data.table

library(data.table)
setDT(mydata)[, .SD[(seq_len(.N) != 1)], Date]
如果我们想保留数据集的第一行

setDT(mydata)[, .SD[(seq_len(.N) != 1)|seq_len(.N)==.I[1]], Date]

或使用
dplyr

library(dplyr)
mydata %>%
      group_by(Date) %>%
      filter(row_number() != 1)

如果“日期”列为订单,则使用
base R

mydata[duplicated(mydata$Date),]
或包含第一行

mydata[duplicated(mydata$Date)|1:nrow(mydata)==1,]

您希望从这些数据中得到什么输出?只是“删除第79行”吗?@r2evans删除第79行只是我需要做的第一件事,然后相同的过程会在数据中重复所有天。我只展示了部分数据。是的,所以在这个数据中,唯一的区别是第79行,对吗?(顺便说一句,你不必显示这么多数据来完成这个问题。你可以从每天抓取5-8行,显示多天,这样你收到的答案可能更灵活/正确。)你打算删除每天的第一行吗?你的描述有点模糊。请修改您的数据,使95%的数据不是同一天的数据,好吗?此外,请指出您希望的输出和/或您认为应该删除的行(数字)。最后,到目前为止您尝试了哪些代码?@r2evans谢谢。是的,你是对的。你希望从这些数据中得到什么输出?只是“删除第79行”吗?@r2evans删除第79行只是我需要做的第一件事,然后相同的过程会在数据中重复所有天。我只展示了部分数据。是的,所以在这个数据中,唯一的区别是第79行,对吗?(顺便说一句,你不必显示这么多数据来完成这个问题。你可以从每天抓取5-8行,显示多天,这样你收到的答案可能更灵活/正确。)你打算删除每天的第一行吗?你的描述有点模糊。请修改您的数据,使95%的数据不是同一天的数据,好吗?此外,请指出您希望的输出和/或您认为应该删除的行(数字)。最后,到目前为止您尝试了哪些代码?@r2evans谢谢。是的,你说得对。谢谢。你的密码完美地满足了我的需要。谢谢。你的代码完美地满足了我的需求。