用特定值对R中的列进行子集

用户名

给定一个大数据帧,例如df,具有500列和100行,我如何仅对超过特定阈值(例如1)的列进行子集设置?

谢谢

LyzandeR

假设您的子集列的所有值均大于1,则可以执行以下操作(实际上,您还可以根据可能具有的任何条件使用以下内容if只需更改条件):

示例数据

a <- data.frame(matrix(runif(90),ncol=3))

> a
           X1         X2         X3
1  0.33341130 0.09307143 0.51932506
2  0.78014395 0.30378432 0.67309736
3  0.19967771 0.30829771 0.60144888
4  0.77736355 0.42504910 0.23880491
5  0.60631868 0.55198423 0.29565519
6  0.24246456 0.57945721 0.17882712
7  0.10499677 0.48768998 0.54931955
8  0.92288335 0.29290491 0.72885160
9  0.85246128 0.87564673 0.60069170
10 0.39931205 0.29895856 0.83249469
11 0.33674259 0.85618041 0.62940935
12 0.27816980 0.51508938 0.76079354
13 0.19121182 0.27586235 0.21273823
14 0.66337625 0.18631150 0.67762964
15 0.00923405 0.84753915 0.08386400
16 0.33209371 0.54919903 0.49128825
17 0.97685675 0.25564765 0.56439142
18 0.26710042 0.75852884 0.88706946
19 0.32422355 0.58971620 0.84070049
20 0.73000898 0.09068726 0.92541277
21 0.80547283 0.93723241 0.31050230
22 0.28897215 0.80679092 0.06080124
23 0.32190269 0.12254342 0.42506740
24 0.52569405 0.68506407 0.68302356
25 0.31098388 0.66225007 0.08565480
26 0.67546897 0.08123716 0.58419470
27 0.29501987 0.17836528 0.79322116
28 0.20736102 0.81145297 0.44078101
29 0.75165829 0.51865202 0.36653840
30 0.63375066 0.03804626 0.69949846

解决方案

只需一个lapply就足够了。0.05在这里使用阈值,因为根据我的随机数据集更容易演示如何使用它。将其更改为您想要的数据集中的任何内容。

b <- do.call(cbind, (lapply(a, function(x) if(all(x>0.05)) return(x) )))

输出

> b
              X3
 [1,] 0.51932506
 [2,] 0.67309736
 [3,] 0.60144888
 [4,] 0.23880491
 [5,] 0.29565519
 [6,] 0.17882712
 [7,] 0.54931955
 [8,] 0.72885160
 [9,] 0.60069170
[10,] 0.83249469
[11,] 0.62940935
[12,] 0.76079354
[13,] 0.21273823
[14,] 0.67762964
[15,] 0.08386400
[16,] 0.49128825
[17,] 0.56439142
[18,] 0.88706946
[19,] 0.84070049
[20,] 0.92541277
[21,] 0.31050230
[22,] 0.06080124
[23,] 0.42506740
[24,] 0.68302356
[25,] 0.08565480
[26,] 0.58419470
[27,] 0.79322116
[28,] 0.44078101
[29,] 0.36653840
[30,] 0.69949846

此时只有第3列确认了这种情况,因此将其退回。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用R根据数据框中单个列的最小值对特定列中的行进行子集

来自分类Dev

R:通过匹配A列中的值进行子集

来自分类Dev

用值子集R中的距离矩阵

来自分类Dev

如何基于特定列号中的值对data.table进行子集

来自分类Dev

根据特定列的值对数据帧进行子集

来自分类Dev

在 R 中使用特定值进行子集化的问题

来自分类Dev

R-基于列名(向量中)和那些列中的特定值的子集行

来自分类Dev

如何对R中相同的两列具有不同值的数据框进行子集

来自分类Dev

通过R中的列内的唯一值对数据帧进行子集

来自分类Dev

如何对R中相同的两列具有不同值的数据框进行子集

来自分类Dev

R:计算数据子集中特定值的列中的行数

来自分类Dev

根据R中的特定列值对列块进行排序

来自分类Dev

使用R ggplot中的“特定”列的几个值进行绘图

来自分类Dev

用R中的特定列填充缺失值的缺失日期

来自分类Dev

根据r中id中的值对数据进行子集

来自分类Dev

根据行中的单个值对列进行子集化

来自分类Dev

用R中另一列中的值替换特定列中的非NA值

来自分类Dev

用 ID 子集的 R 中的 999 替换NA值

来自分类Dev

R中的子集似乎不起作用:具有要作为子集的特定值的行的值

来自分类Dev

如何根据列名的长度对R中的列进行子集设置?

来自分类Dev

如何在R的另一列中仅对具有多个不同值的行进行子集化?

来自分类Dev

用值填充特定列中的空行

来自分类Dev

根据行值对列进行子集

来自分类Dev

基于列的值对行进行子集

来自分类Dev

在R中,如何按data.table中的特定值对列进行排序?

来自分类Dev

熊猫:根据另一列中的值按名称对多个列进行子集

来自分类Dev

用特定ID对MySQL中的值进行计数

来自分类Dev

用dplyr或R中的其他软件包进行子集

来自分类Dev

将每第二行作为 R 数据帧中的特定列值进行操作

Related 相关文章

  1. 1

    如何使用R根据数据框中单个列的最小值对特定列中的行进行子集

  2. 2

    R:通过匹配A列中的值进行子集

  3. 3

    用值子集R中的距离矩阵

  4. 4

    如何基于特定列号中的值对data.table进行子集

  5. 5

    根据特定列的值对数据帧进行子集

  6. 6

    在 R 中使用特定值进行子集化的问题

  7. 7

    R-基于列名(向量中)和那些列中的特定值的子集行

  8. 8

    如何对R中相同的两列具有不同值的数据框进行子集

  9. 9

    通过R中的列内的唯一值对数据帧进行子集

  10. 10

    如何对R中相同的两列具有不同值的数据框进行子集

  11. 11

    R:计算数据子集中特定值的列中的行数

  12. 12

    根据R中的特定列值对列块进行排序

  13. 13

    使用R ggplot中的“特定”列的几个值进行绘图

  14. 14

    用R中的特定列填充缺失值的缺失日期

  15. 15

    根据r中id中的值对数据进行子集

  16. 16

    根据行中的单个值对列进行子集化

  17. 17

    用R中另一列中的值替换特定列中的非NA值

  18. 18

    用 ID 子集的 R 中的 999 替换NA值

  19. 19

    R中的子集似乎不起作用:具有要作为子集的特定值的行的值

  20. 20

    如何根据列名的长度对R中的列进行子集设置?

  21. 21

    如何在R的另一列中仅对具有多个不同值的行进行子集化?

  22. 22

    用值填充特定列中的空行

  23. 23

    根据行值对列进行子集

  24. 24

    基于列的值对行进行子集

  25. 25

    在R中,如何按data.table中的特定值对列进行排序?

  26. 26

    熊猫:根据另一列中的值按名称对多个列进行子集

  27. 27

    用特定ID对MySQL中的值进行计数

  28. 28

    用dplyr或R中的其他软件包进行子集

  29. 29

    将每第二行作为 R 数据帧中的特定列值进行操作

热门标签

归档