R:遍历一系列数字并选择最大的一个
R: go through a sequence of numbers and choose the highest one
我正在从网站上抓取数据,在这种情况下,数据整理变得有点困难。
我现在拥有的是进入序列的一串数字,比方说
a<-c(1,2,3,1,2,3,4,5,1,2,3,4)
我要查找的第一个值是 3,第二个是 5,第三个是 4。
所以基本上,我想遍历序列 1:5 并选择最高值,最终输出为
a<-c(3,4,5)
我想过选择最大值,比如
a<-sort(a, decreasing = T)
a<-a[1:3]
但这不算数,因为最终产品是:
[1] 5 4 4
区分小值的地方。如果这可能,有什么想法吗?
不完全确定这是否是您要的。我想你想要的是看看你的向量中有哪些值。
试试这个:
a<-c(1,2,3,1,2,3,4,5,1,2,3,4)
search_values = 3:5
# unique values
search_values = a[a %in% search_values]
unique(search_values)
# counts of values
table(search_values)
sort(unlist(lapply(split(a, cumsum(c(1, diff(a)) != 1)), max), use.names = FALSE))
#[1] 3 4 5
听起来你想要这样的东西?
a <- c(1,2,3,1,2,3,4,5,1,2,3,4) # Data input
a <- unique(a) # Keep unique numbers
a <- sort(a, dec = F) # Sort ascending
tail(a, 3) # Last three numbers in set
给出:
[1] 3 4 5
一行:
tail(sort(unique(a), dec = F), 3)
我正在从网站上抓取数据,在这种情况下,数据整理变得有点困难。
我现在拥有的是进入序列的一串数字,比方说
a<-c(1,2,3,1,2,3,4,5,1,2,3,4)
我要查找的第一个值是 3,第二个是 5,第三个是 4。 所以基本上,我想遍历序列 1:5 并选择最高值,最终输出为
a<-c(3,4,5)
我想过选择最大值,比如
a<-sort(a, decreasing = T)
a<-a[1:3]
但这不算数,因为最终产品是:
[1] 5 4 4
区分小值的地方。如果这可能,有什么想法吗?
不完全确定这是否是您要的。我想你想要的是看看你的向量中有哪些值。
试试这个:
a<-c(1,2,3,1,2,3,4,5,1,2,3,4)
search_values = 3:5
# unique values
search_values = a[a %in% search_values]
unique(search_values)
# counts of values
table(search_values)
sort(unlist(lapply(split(a, cumsum(c(1, diff(a)) != 1)), max), use.names = FALSE))
#[1] 3 4 5
听起来你想要这样的东西?
a <- c(1,2,3,1,2,3,4,5,1,2,3,4) # Data input
a <- unique(a) # Keep unique numbers
a <- sort(a, dec = F) # Sort ascending
tail(a, 3) # Last three numbers in set
给出:
[1] 3 4 5
一行:
tail(sort(unique(a), dec = F), 3)