Aga*_*ain 2 r multiple-columns dataframe
可能重复: 从数据框中提取特定列
我有一个数据框遵循列中的模式.这里我有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
Run Code Online (Sandbox Code Playgroud)
在上面的数据框中,我想要前两列,然后是两列之后的列,两列之后的列,依此类推.因此我想要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
Run Code Online (Sandbox Code Playgroud)
如果标准是仅选择非数字的colomuns,则可以使用filter:
Filter(Negate(is.numeric), df)
Run Code Online (Sandbox Code Playgroud)
关于虚拟数据的示例:
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
Run Code Online (Sandbox Code Playgroud)
要选择第一列,第二列,第五列,第八列等,您还可以尝试:
df[,c(1,(1:ceiling(length(df)/3))*3-1)]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
354 次 |
| 最近记录: |