filtre satırları Sütunlardan birinde 0
satırları filtreleyen bir kod var. Bunu, sütunların 48 veya daha fazlasında (% 50) 0
içeren satırları filtrelemesi için değiştirmek istiyorum. Bu nasıl yapılabilir?sütunların% 50'sinin olduğu 0
geçerli kod:
mature2[!(apply(mature2, 1, function(y) any(y == 0))),])
veri
> dput(head(mature2,2)
+)
structure(list(`100G` = c(310L, 142504L), `100R` = c(368L, 203538L
), `106G` = c(183L, 40788L), `106R` = c(406L, 60772L), `122G` = c(476L,
199748L), `122R` = c(415L, 212439L), `124G` = c(190L, 41003L),
`124R` = c(453L, 93523L), `126G` = c(456L, 100404L), `126R` = c(121L,
62423L), `134G` = c(788L, 270102L), `134R` = c(369L, 163493L
), `141G` = c(468L, 124348L), `141R` = c(375L, 150040L),
`167G` = c(351L, 224537L), `167R` = c(268L, 120624L), `185G` = c(637L,
98900L), `185R` = c(649L, 234184L), `192G` = c(261L, 159325L
), `192R` = c(418L, 225527L), `235G` = c(733L, 132638L),
`235R` = c(359L, 93605L), `239G` = c(141L, 80773L), `239R` = c(214L,
118840L), `240G` = c(0L, 66L), `240R` = c(0L, 41L), `243G` = c(580L,
121361L), `243R` = c(509L, 169945L), `246G` = c(35L, 16008L
), `246R` = c(229L, 117362L), `261G` = c(573L, 183687L),
`261R` = c(406L, 124865L), `267G` = c(298L, 184937L), `267R` = c(234L,
102697L), `26G` = c(497L, 244302L), `26R` = c(277L, 122537L
), `270G` = c(303L, 90109L), `270R` = c(533L, 292492L), `279G` = c(37L,
16753L), `279R` = c(194L, 115152L), `299G` = c(440L, 96887L
), `299R` = c(129L, 15098L), `301G` = c(196L, 42525L), `301R` = c(335L,
48643L), `305G` = c(393L, 93782L), `305R` = c(403L, 136864L
), `335G` = c(1L, 33L), `335R` = c(1L, 39L), `342G` = c(85L,
27755L), `342R` = c(351L, 151451L), `350G` = c(395L, 75952L
), `350R` = c(270L, 78530L), `356G` = c(470L, 166201L), `356R` = c(241L,
104167L), `35G` = c(169L, 28662L), `35R` = c(347L, 99143L
), `361G` = c(346L, 133945L), `361R` = c(115L, 80000L), `366G` = c(192L,
75795L), `366R` = c(182L, 55616L), `367G` = c(331L, 119765L
), `367R` = c(191L, 87176L), `377G` = c(155L, 53086L), `377R` = c(307L,
167251L), `379G` = c(48L, 13888L), `379R` = c(72L, 37520L
), `388G` = c(157L, 70052L), `388R` = c(349L, 134572L), `400G` = c(195L,
61048L), `400R` = c(357L, 166711L), `402G` = c(394L, 122754L
), `402R` = c(475L, 115147L), `46G` = c(268L, 76757L), `46R` = c(229L,
101414L), `48G` = c(141L, 74028L), `48R` = c(208L, 95794L
), `55G` = c(295L, 124053L), `55R` = c(223L, 88177L), `57G` = c(331L,
102180L), `57R` = c(315L, 97874L), `60G` = c(426L, 152972L
), `60R` = c(359L, 99306L), `68G` = c(338L, 176958L), `68R` = c(323L,
94942L), `70G` = c(209L, 63565L), `70R` = c(157L, 70904L),
`73G` = c(385L, 153715L), `73R` = c(292L, 175287L), `77G` = c(453L,
193342L), `77R` = c(296L, 117021L), `82G` = c(485L, 123849L
), `82R` = c(374L, 201931L), `93G` = c(603L, 183288L), `93R` = c(543L,
256014L), `94G` = c(233L, 74963L), `94R` = c(366L, 96655L
)), .Names = c("100G", "100R", "106G", "106R", "122G", "122R",
"124G", "124R", "126G", "126R", "134G", "134R", "141G", "141R",
"167G", "167R", "185G", "185R", "192G", "192R", "235G", "235R",
"239G", "239R", "240G", "240R", "243G", "243R", "246G", "246R",
"261G", "261R", "267G", "267R", "26G", "26R", "270G", "270R",
"279G", "279R", "299G", "299R", "301G", "301R", "305G", "305R",
"335G", "335R", "342G", "342R", "350G", "350R", "356G", "356R",
"35G", "35R", "361G", "361R", "366G", "366R", "367G", "367R",
"377G", "377R", "379G", "379R", "388G", "388R", "400G", "400R",
"402G", "402R", "46G", "46R", "48G", "48R", "55G", "55R", "57G",
"57R", "60G", "60R", "68G", "68R", "70G", "70R", "73G", "73R",
"77G", "77R", "82G", "82R", "93G", "93R", "94G", "94R"), row.names = c("hsa-let-7a-3p",
"hsa-let-7a-5p"), class = "data.frame")
'mature2 [rowSums çalışabilir (mature2 == 0)> = Ncol (mature2)/2, ] – nicola
'df [rowMeans (df == 0) == 0.5,]' tam olarak% 50 istiyorsanız. '> =% 50 veya daha fazla için 0,5'. –
% 50 yerine – user2300940