简体   繁体   English

根据行值对列进行子集

[英]Subset columns based on row value

This may be a simple question, but I haven't been able to find any answer. 这可能是一个简单的问题,但我一直找不到任何答案。 Consider you have a dataframe with n columns with molecular features. 考虑您有一个具有n个具有分子特征的列的数据框。 In the last row of each column, a coefficient of variance is expressed. 在每列的最后一行中,表示方差系数。

Example data set: 数据集示例:

a <- data.frame(matrix(runif(30),ncol=3))
b <- c(50.23,45.23,21)
a<-rbind(a,b)

        X1          X2          X3
1   0.1097075  0.78584027  0.20925033
2   0.6081752  0.39669748  0.65559913
3   0.9912855  0.68462073  0.54741795
4   0.8543848  0.53776889  0.43789447
5   0.2579654  0.92188090  0.61292895
6   0.6203840  0.73152279  0.82866311
7   0.6643195  0.84953926  0.62192976
8   0.5760624  0.30949900  0.11032929
9   0.8888167  0.04530598  0.08089825
10  0.8926815  0.61736284  0.19834310
11 50.2300000 45.23000000 21.00000000

How do I subset so I only get the columns with CV>50 in the last row? 如何子集化,所以我最后一行只获得CV> 50的列? So my new data.frame would be: 所以我的新data.frame将是:

X1   
1   0.1097075
2   0.6081752
3   0.9912855
4   0.8543848
5   0.2579654
6   0.6203840 
7   0.6643195
8   0.5760624
9   0.8888167
10  0.8926815
11 50.230000

我们可以做的

a[,a[nrow(a),]>50,drop=FALSE]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM