gpt4 book ai didi

r - 根据模式选择列

转载 作者:行者123 更新时间:2023-12-01 22:31:20 25 4
gpt4 key购买 nike

可能重复: Extracting specific columns from a data frame

我有一个数据框,它遵循列中的模式。这里我有大约 10 列,但实际上在最终数据框中,列数是未知的,因为它取决于给定的数据。

  V1    V2   V3          V4       V5   V6          V7     V8    V9          V10           
ADAM32 P 0.001000000 40.61038 P 0.001000000 40.61038 P 0.001000000 40.61038
CCL5 P 0.000491000 6546.20000 P 0.000491000 6546.20000 P 0.000491000 6546.20000
CILP2 A 0.500000024 92.66398 A 0.500000024 92.66398 A 0.500000024 92.66398
EPHB3 P 0.000562000 461.30000 P 0.000562000 461.30000 P 0.000562000 461.30000
GUCA1A P 0.002006000 9.40000 P 0.002006000 9.40000 P 0.002006000 9.40000
HSPA6 P 0.000322000 564.00000 P 0.000322000 564.00000 P 0.000322000 564.00000
MAPK1 P 0.002000000 435.00000 P 0.002000000 435.00000 P 0.002000000 435.00000
PIGX P 0.003822926 411.38856 P 0.003822926 411.38856 P 0.003822926 411.38856
PTPN21 M 0.051040220 94.30000 M 0.051040220 94.30000 M 0.051040220 94.30000
THRA M 0.054470000 151.10000 M 0.054470000 151.10000 M 0.054470000 151.10000
UBA7 P 0.000468000 845.60000 P 0.000468000 845.60000 P 0.000468000 845.60000
WFDC2 P 0.005475547 177.61689 P 0.005475547 177.61689 P 0.005475547 177.61689
7-Mar P 0.000673000 643.20000 P 0.000673000 643.20000 P 0.000673000 643.20000

在上面的数据框中,我想要前两列,然后是两列之后的列,两列之后的列,依此类推。因此我想要 v1、v2、v5、v8 等等,直到数据帧用完。因此,如果我有一个包含 1000 列的相同模式的数据框,我该如何选择列?

预期输出:

     V1 V2  V5  V8
ADAM32 P P P
CCL5 P P P
CILP2 A A A
EPHB3 P P P
GUCA1A P P P
HSPA6 P P P
MAPK1 P P P
PIGX P P P
PTPN21 M M M
THRA M M M
UBA7 P P P
WFDC2 P P P
7-Mar P P P

最佳答案

如果条件是只选择非数字的colomuns,你可以使用过滤器:

Filter(Negate(is.numeric), df)

虚拟数据示例:

df = data.frame('a','b',1,2,'c',23,45.0,'c')
Filter(function(u) !is.numeric(u), df)
# X.a. X.b. X.c. X.c..1
#1 a b c c

要选择第一列,第二列,第五列,第八列等等,你也可以试试:

df[,c(1,(1:ceiling(length(df)/3))*3-1)]

关于r - 根据模式选择列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29448796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com