2013-04-26 39 views
4

我有一些數據集具有足夠高的維度(14),因此一次性繪製成對數據會很痛苦。在那種情況下,我希望能夠選擇他們所在數據框的一個子集,但我只知道如何通過數字來處理列。R:按名稱尋址多列數據幀

partimat(MARKER ~ ., trim_data11[,c(1:5,NCOL(trim_data11))],method="qda") 

我想什麼做的是這樣的事情,這不工作:當讀回代碼這是刺激性和不明確

partimat(MARKER ~ ., trim_data11$(c(AF3,F7,P8,O1,O2,MARKER)),method="qda") 

有沒有辦法做到這一點?

回答

6

你可以用名稱解決他們爲你懷疑,你只需要把這個名字通過爲特徵向量:

partimat(MARKER ~ ., trim_data11[, c("AF3","F7","P8","O1","O2","MARKER") ],method="qda") 

舉個簡單的例子:

df <- data.frame(x = runif(5) , y =runif(5) , z = runif(5)) 
df[,c("x","z")] 
#   x   z 
#1 0.5896444 0.1855764 
#2 0.3486369 0.4936727 
#3 0.1640928 0.1367027 
#4 0.3167399 0.6686943 
#5 0.7063566 0.6032699 
+1

注意這太:DF [ c(「x」,「z」)]也可以工作(但不能與矩陣配合使用)。 – 2013-04-26 10:02:01

+2

@ Maxim.K是的,如果你想按行排序,你只需要使用',',但總是把它放在一起,就像一個好習慣一樣。這種方式是有效的,因爲'df'是一個命名列表,而矩陣是*只是一個具有長度爲2的dim屬性的向量。 – 2013-04-26 10:04:02

+0

這樣做!謝謝。 – 2013-04-26 10:05:57