我有一个24小时的时间序列(这是一个非常大的数据),我必须在某些时间段内工作。就像在小时= 7,15和23。
我必须删除对应于1,2,3,4 ......小时的所有其他行。我必须在40小时的间隙内过滤行。我必须始终坚持与一天中的7,15和23h相对应的那些。
我一直在努力创建另一个data.frame,只包括这些行,甚至只有NULL这些毫无价值的行。
我从我的数据中添加了一个打印件。列代表月,日和日。 1955年。它一直持续到1955年的最后一天和小时记录。
数据示例
答案 0 :(得分:1)
使用基本R提取运算符基于屏幕捕获中的数据选择第7,15和23小时的一种方法如下。
Tempo <- c(0,3600,7200,10800,1440,18000,21600,25200,28800,
23400,36000,39600,43200,46800,50400,5400,57600,
61200,64800,68400,72000,75600,79200,82800)
Ano <- rep(1955,24)
Mes <- rep(1,24)
Dia <- rep(1,24)
Hora <- 0:23
NiveldoMar <- c(1.07,0.91,0.81,0.78,0.91,1.05,1.32,1.57,
1.60,1.48,1.30,1.07,1.10,1.22,1.42,1.45,1.40,1.32,
1.27,1.40,1.62,NA,NA,NA)
ContoleInterno <- rep(0,24)
data <- data.frame(Tempo,Ano,Mes,Dia,Hora,NiveldoMar)
# select data from hours 7,15, and 23
data[data$Hora %in% c(7,15,23),]
...和输出:
> data[data$Hora %in% c(7,15,23),]
Tempo Ano Mes Dia Hora NiveldoMar
8 25200 1955 1 1 7 1.57
16 5400 1955 1 1 15 1.45
24 82800 1955 1 1 23 NA
>