我目前正在参加一个介绍课,而且我遇到了一些困难:
现在,这是我到目前为止所做的,我正在尝试制作示例代码:
V.Size <- c(5,4,2,3,1)
n <- 5
Function <- c(V.Size, n)
Function
[1] 5 4 2 3 1 5
sort(Function, decreasing=TRUE)
[1] 5 5 4 3 2 1
我遇到的问题是(N + 1),(N + 2)及其排序。
答案 0 :(得分:0)
解决这个问题的第一步是为排序V.size
中的每个元素创建一个列表位置的向量。这基本上是总长度V.size
的向量(1,2,...,N,1,2,...,N,...)。您可以通过以下方式获得:
V.Size <- c(5,4,2,3,1)
n <- 2
rep(1:n, length.out=length(V.Size))
# [1] 1 2 1 2 1
现在,您可以使用split
功能根据这些分配创建列表:
split(sort(V.Size, decreasing=TRUE), rep(1:n, length.out=length(V.Size)))
# $`1`
# [1] 5 3 1
#
# $`2`
# [1] 4 2