[英]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.