簡體   English   中英

根據符合嚴格標准的靈活列組合選擇行的子集

[英]Selecting a subset of rows based on a flexible combination of columns meeting a strict criteria

我需要幫助使用R來解決數據子集化問題。 這是數據框的一部分:

df <- read.table(text="
Name    C1      C2      C3      C4      C5
Bill    0.006   0.003   0       0.002   0
Frank   0       0.333   0.23    0.12    0
Ted     0.567   0.011   0.001   0.002   0
Jimmy   0.001   0.003   0.001   0.002   0
Sam     0.002   0.002   0.32    0.45    0.002", header=T)

我想要做的是創建一個新的數據框,其中包含第2列到第6列中的值小於.05的那些行的子集。

訣竅在於我想設置一個靈活的標准,這樣在任何特定的行中,5個值中只有4個需要<.05。 它可以是5個值中的任意4個,並且必須能夠在行之間有所不同。

因此,比如,比爾和特德會滿足這個標准,但薩姆並不願意。

我嘗試了各種應用函數,但這些只適用於完整的行數據。 我需要某種條件語句來單獨評估每一行。

我被困在怎么辦。

這就是你追求的嗎?

> df[rowSums(df[,2:6]<0.05)>=4,]
   Name    C1    C2    C3    C4 C5
1  Bill 0.006 0.003 0.000 0.002  0
3   Ted 0.567 0.011 0.001 0.002  0
4 Jimmy 0.001 0.003 0.001 0.002  0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM