我想知道一個用於根據某些條件選擇列的命令。例如,假設我有一個N + 5列的數據幀(其中,N是任意的/未知)像這樣:從數據框中選擇一組符合條件的列
>mydf
Name Meta1 Meta2 ... MetaN A B C D
Alice a1 a2 ... aN 1 0 1 0
Bob b1 b2 ... bN 2 1 2 1
我想通過使用柱裝置A的事實,得到下面的數據幀和C大於1(或等同於B和D的列均值小於1)。
>mydf
Name Meta1 Meta2 ... MetaN A C
Alice a1 a2 ... aN 1 1
Bob b1 b2 ... bN 2 2
我試着將子集命令的「選擇」選項與邏輯操作和colMeans命令結合起來無濟於事。我最近得到這個權利是非常複雜的。我試過尋找可以做到這一點的命令,但尚未發現任何。
編輯:通過「MetaN」的列名稱「Meta1」應該被認爲是佔位符,而不一定是列的實際名稱。他們可以爲所有意圖和目的使用N個隨機顏色名稱。
+1 - 變化的主題:'data.frame(mydf [1],mydf [-1] [colMeans(mydf [-1])> 1])' – thelatemail
嗨阿南達,我試過適應你對我的實際問題的回答,但已經碰壁了。我已經編輯了我的問題,以便稍微泛化並更好地反映我的問題。 –
做出簡單的改變(其中'N'是你的'Nth'列) mydf [c(「Name」,names(colMeans(mydf [-c(1:N)])> 1))) ]' – Metrics