【发布时间】:2019-12-14 03:32:44
【问题描述】:
我有一个代表资产回报的数据。我想从每一行中选择前 N 个资产并计算所选资产的平均回报率。详细地说,我想创建一个函数,可以从一行中选择不同的元素,并对这些元素进行平均处理。就像从第一行一样,我想根据排名选择前 3 个元素并计算这些元素的平均值。从第二个开始,我想选择前 5 个和它的平均值,依此类推。我的意思是元素的数量会因行而异。我试着举个例子。在以下示例中,test_data 表示要从中获取资产的数据,top_n 表示要从每行中获取的资产数量,Rank 表示基于将选择哪些资产的资产排名。就像第一行一样,我想根据排名选择前三名资产。其次,我想根据排名选择前 5 个元素。最后,我将获得每行中前 n 个资产的回报平均值。
test_data<-matrix(rnorm(100),nrow=10)
rank<-apply(-test,1,rank)
top_n<-c(3,5,9,4,8,7,6,8,3,2,4)
【问题讨论】:
标签: r