每天盘点/列表后删除下一行;在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谢谢。是的,你说得对。谢谢。你的密码完美地满足了我的需要。谢谢。你的代码完美地满足了我的需求。