2015-11-25 59 views
-1

我需要使用另一個文件中給出的id爲列上的數據框子集。 我該怎麼做? 我曾嘗試:使用另一個數據框中的id爲列設置數據框

data_from_many_cells <- read.table("data_from_many_cells.txt", header=T)` 
special_cells <- read.table("special_cells.txt", header=T) 
data_from_special_cells <- data_from_many_cells[,special_cells] 

但我得到一個錯誤:

Error in .subset(x, j) : invalid subscript type 'list' 

我怎樣才能解決這個問題?

+1

可能是重複的,但在任何情況下,除非您發佈樣本數據,否則沒有人可以幫助您。 –

+0

如果下面的解決方案有效,請考慮通過點擊投票旁邊的勾號來接受它。 – akrun

回答

2

當我們使用read.table讀取txt文件(假設元素在.txt文件一列,將與一列(爲「special_cells」數據集)被解讀爲data.frame,我們可以提取通過數字索引([,1])或通過列名稱(即special_cells[, 'yourcolumnname'])將列設置爲vector。由於我們沒有在read.table中提供stringsAsFactors=FALSE參數,所以如果列是非數字的,它將被讀作factor。將其轉換爲character,然後將其用於子集'data_from_many_cells'。

data_from_many_cells[,as.character(special_cells[,1])] 
+0

謝謝,但我無法得到它的工作 – newa123

+0

@ newa123你可以用'str(special_cells)'和'str(data_from_many_cells)' – akrun

+0

更新你的帖子我最終設法只對所需的單元進行子集化。謝謝。我只需刪除as.character,因爲該因素實際上是一個字符串因子 – newa123

相關問題