从 R 中的数据框中选择最后一个按顺序编号的列,其中列未排序

问题描述 投票:0回答:1

假设我有以下代码:

> set.seed(25)
>
> x = data.frame(col1 = rnorm(5),
                 col2 = rnorm(5),
                 col3 = rnorm(5),
                 col4 = rnorm(5),
                 col5 = rnorm(5),
                 other_data1 = sample(letters, 5),
                 other_data2 = sample(letters, 5),
                 other_data3 = sample(letters, 5))
>
> x = x[ ,sample(names(x))]
> x
  other_data3       col4       col1        col3 other_data2       col5        col2 other_data1
1           s  0.9275789 -0.2118336 -1.74278763           l  0.5574109 -0.44553326           i
2           l -0.7167693 -1.0415911 -1.32495298           h  0.1687815  1.73404543           u
3           y  0.9623997 -1.1533076 -0.54793388           i  0.1552589  0.51129562           r
4           g  1.5458846  0.3215315 -1.45638428           b  2.3677647  0.09964504           p
5           z -1.0097636 -1.5001299  0.08268682           x -1.5856444 -0.05789111           n

假设我想选择列

colN
,其中
N
是任意
N
的最后一个编号列(在本例中,它将是列
col5
)。

有没有办法在 R 中做到这一点,要么使用基本 R 中的函数,要么使用

tidyverse
过滤器?

r sorting filter tidyverse
1个回答
0
投票

如果N < 10:

colNs <- grep("col[0-9]+", names(x), value = TRUE)
x[max(colNs)]

其他:

...
© www.soinside.com 2019 - 2024. All rights reserved.