我正在搜索csv文件中特定行范围内的最大值。 我想出了范围,但现在我想确定最大值,它只显示该特定值的位置而不是实际值。
初步情况如下:我读了文件
A <- read.csv(file=data[1], header=TRUE, sep=";")
接下来我确定调查范围
Duration = as.character (A [16,1])
Duration = as.numeric(strsplit(Duration," ") [[1]][2])
B<- A[which(A==28447)]
所以这些是目标行:
[943] 0.0
[944] 1.8771
[945] 1.2928
[946] 1.7946
[947] 2.3201
[948] 1.8459
[949] 1.5889
[950] 1.3549
[951] 1.2376
[952] 1.1296
[953] 1.0619
[954] 1.0132
[955] 0.9684
[956] 0.93
[957] 0.8976
现在我做的是:
A[(B+1):(B+Duration),1]
透露:
[1] 0.0 1.8771 1.2928 1.7946 2.3201 1.8459 1.5889 1.3549 1.2376 1.1296 1.0619 1.0132 0.9684 0.93 0.8976
24582 Levels: -0.0 -0.001 -0.0011 -0.0012 -0.0014 -0.0016 -0.0017 -0.0018 -0.0019 -0.0022 -0.0024 -0.0026 -0.0028 -0.003 -0.0033 ... Timesteps: 15
如果我现在去找max((B+1):(B+Duration),1)
我得到:
957
如何避免这种情况?
非常感谢您的帮助。
欢呼声 奥利
答案 0 :(得分:3)
答案 1 :(得分:1)
> A <- rnorm(10,0,1)
> A
[1] -1.05831869 -0.20686273 -0.81552863 -0.47213498 0.87199615 0.06288441 0.94777881 0.46776767 1.91153029
[10] -0.59206801
>
> which.max(A)
[1] 9
返回向量中最大值的位置:
> A[which.max(A)]
[1] 1.91153
因此,为了说明这一点,您可以使用它来索引最大值:
max
更简单的是> max(A)
[1] 1.91153
>
函数!
{{1}}
如果你因为因素错误而没有意义,则需要先转换为数字。 How to convert a factor to integer\numeric without loss of information?