首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按第n列排序数据,获取第一行的行名,对每一列执行以下操作

按第n列排序数据,获取第一行的行名,对每一列执行以下操作
EN

Stack Overflow用户
提问于 2016-10-25 07:20:54
回答 2查看 150关注 0票数 1

使用此数据

代码语言:javascript
复制
head(pcaFM_clim_var_cos2[,1:5])

                     Dim.1      Dim.2     Dim.3        Dim.4      Dim.5
dtr_mean_value_1 0.2583860 0.04524243 0.3004670 4.714854e-02 0.05262342
dtr_mean_value_2 0.2470183 0.04818929 0.3380621 4.220726e-02 0.05577386
dtr_mean_value_3 0.2459333 0.07231365 0.3690537 9.016624e-03 0.08165524
dtr_mean_value_4 0.2740264 0.09818961 0.3053862 2.670571e-03 0.08860495
dtr_mean_value_5 0.1910882 0.18521379 0.3373460 7.113687e-06 0.07396737
dtr_mean_value_6 0.2109406 0.18532406 0.3185838 6.542807e-03 0.10550687

我的目的是:

  1. 按第一季度定购数据
  2. 取第一行的行名,并将其附加到空向量中。
  3. 对Dim.2重复此操作:Dim5将第一行名称追加到相同的向量中。

我试过这个:

代码语言:javascript
复制
a <- character()
for (i in 1:5){
pcaFM_clim_var_cos2[order(-pcaFM_clim_var_cos2[,i])]
  clim_var <- append(a,head(pcaFM_clim_var_cos2[,0],1))
  }

但是向量(clim_var)是空的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-25 07:41:35

使用which.minsapply

代码语言:javascript
复制
# data
pcaFM_clim_var_cos2 <- read.table(text = "
Dim.1      Dim.2     Dim.3        Dim.4      Dim.5
dtr_mean_value_1 0.2583860 0.04524243 0.3004670 4.714854e-02 0.05262342
dtr_mean_value_2 0.2470183 0.04818929 0.3380621 4.220726e-02 0.05577386
dtr_mean_value_3 0.2459333 0.07231365 0.3690537 9.016624e-03 0.08165524
dtr_mean_value_4 0.2740264 0.09818961 0.3053862 2.670571e-03 0.08860495
dtr_mean_value_5 0.1910882 0.18521379 0.3373460 7.113687e-06 0.07396737
dtr_mean_value_6 0.2109406 0.18532406 0.3185838 6.542807e-03 0.10550687",
                                  header = TRUE)

# using which.min
clim_var <- 
  row.names(pcaFM_clim_var_cos2)[sapply(pcaFM_clim_var_cos2, which.min)]

clim_var
# [1] "dtr_mean_value_5" "dtr_mean_value_1" "dtr_mean_value_1" "dtr_mean_value_5" "dtr_mean_value_1"
票数 2
EN

Stack Overflow用户

发布于 2016-10-25 07:48:59

一个选项是max.col

代码语言:javascript
复制
row.names(pcaFM_clim_var_cos2)[max.col(-t(pcaFM_clim_var_cos2))]
#[1] "dtr_mean_value_5" "dtr_mean_value_1" "dtr_mean_value_1" 
#[4] "dtr_mean_value_5" "dtr_mean_value_1"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40233734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档