Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.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 - Fatal编程技术网

R 查找时间序列数据集中某列的最大值

R 查找时间序列数据集中某列的最大值,r,R,我有一个时间序列数据集DF,其中第一列是timestep,第二列是cellNo.。如何删除除最大值(DF$cellno.)以外的所有行每个时间步 > head(DF, n=100) timestep cellNo. 1 1 1 2 1 2 3 1 3 4 1 4 5 1 5 6 1 6 7

我有一个时间序列数据集
DF
,其中第一列是
timestep
,第二列是
cellNo.
。如何删除除
最大值(DF$cellno.)以外的所有行每个
时间步

> head(DF, n=100)
    timestep cellNo.
1          1       1
2          1       2
3          1       3
4          1       4
5          1       5
6          1       6
7          1       7
8          1       8
9          1       9
10         1      10
11         1      11
12         1      12
13         1      13
14         1      14
15         1      15
16         1      16
17         1      17
18         1      18
19         1      19
20         1      20
21         1      21
22         1      22
23         1      23
24         1      24
25         1      25
26         1      26
27         1      27
28         1      28
29         1      29
30         1      30
31         1      31
32         1      32
33         2       1
34         2       2
35         2       3
36         2       4
37         2       5
38         2       6
39         2       7
40         2       8
41         2       9
42         2      10
43         2      11
44         2      12
45         2      13
46         2      14
47         2      15
48         2      16
49         2      17
50         2      18
51         2      19
52         2      20
53         2      21
54         2      22
55         2      23
56         2      24
57         2      25
58         2      26
59         2      27
60         2      28
61         2      29
62         2      30
63         2      31
64         2      32
65         3       1
66         3       2
67         3       3
68         3       4
69         3       5
70         3       6
71         3       7
72         3       8
73         3       9
74         3      10
75         3      11
76         3      12
77         3      13
78         3      14
79         3      15
80         3      16
81         3      17
82         3      18
83         3      19
84         3      20
85         3      21
86         3      22
87         3      23
88         3      24
89         3      25
90         3      26
91         3      27
92         3      28
93         3      29
94         3      30
95         3      31
96         3      32
97         4       1
98         4       2
99         4       3
100        4       4
如果您只需要每个
timestep
max(cellno.)
,您可以执行以下操作:

aggregate(cellNo.~timestep, DF, max)
#   timestep cellNo.
# 1        1      32
# 2        2      32
# 3        3      32
# 4        4       4
如果您只需要每个
timestep
max(cellno.)
,您可以执行以下操作:

aggregate(cellNo.~timestep, DF, max)
#   timestep cellNo.
# 1        1      32
# 2        2      32
# 3        3      32
# 4        4       4
试试这个

# dput your data 

df <- structure(list(timestep = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L), cellNo. = c(1L, 
2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 
16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L, 27L, 28L, 
29L, 30L, 31L, 32L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 
11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 
24L, 25L, 26L, 27L, 28L, 29L, 30L, 31L, 32L, 1L, 2L, 3L, 4L, 
5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 
19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, 31L, 
32L, 1L, 2L, 3L, 4L)), .Names = c("timestep", "cellNo."), class = "data.frame", row.names = c("1", 
"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", 
"14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", 
"25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", 
"36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", 
"47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", 
"58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", 
"69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", 
"80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", 
"91", "92", "93", "94", "95", "96", "97", "98", "99", "100"))



library(dplyr)
df %>% group_by(timestep) %>% summarise(max = max(cellNo.))

#Source: local data frame [4 x 2]

  #timestep   max
 #    (int) (int)
#1        1    32
#2        2    32
#3        3    32
#4        4     4
#输出数据
df%分组依据(时间步长)%>%汇总(最大值=最大值(单元号))
#来源:本地数据帧[4 x 2]
#最大时间步长
#(内部)(内部)
#1        1    32
#2        2    32
#3        3    32
#4        4     4
试试这个

# dput your data 

df <- structure(list(timestep = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L), cellNo. = c(1L, 
2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 
16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L, 27L, 28L, 
29L, 30L, 31L, 32L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 
11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 
24L, 25L, 26L, 27L, 28L, 29L, 30L, 31L, 32L, 1L, 2L, 3L, 4L, 
5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 
19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, 31L, 
32L, 1L, 2L, 3L, 4L)), .Names = c("timestep", "cellNo."), class = "data.frame", row.names = c("1", 
"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", 
"14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", 
"25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", 
"36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", 
"47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", 
"58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", 
"69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", 
"80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", 
"91", "92", "93", "94", "95", "96", "97", "98", "99", "100"))



library(dplyr)
df %>% group_by(timestep) %>% summarise(max = max(cellNo.))

#Source: local data frame [4 x 2]

  #timestep   max
 #    (int) (int)
#1        1    32
#2        2    32
#3        3    32
#4        4     4
#输出数据
df%分组依据(时间步长)%>%汇总(最大值=最大值(单元号))
#来源:本地数据帧[4 x 2]
#最大时间步长
#(内部)(内部)
#1        1    32
#2        2    32
#3        3    32
#4        4     4

带有
数据。表格

library(data.table)
setDT(df1)[, .(Max = max(cellNo.)), timestep]

带有
数据。表

library(data.table)
setDT(df1)[, .(Max = max(cellNo.)), timestep]

有趣。我得去结帐了。我得去看看。我要喜欢R统计数据包。我要喜欢R统计数据包