2014-01-26 86 views
2

在data.table表達我data.table的數據,看起來像這樣:搜索中的R

9:             FIXED ASSETS 
10:    c("Tangible assets", "2", "726,809", "729,029") 
11:    c("Investments", "3", "2,020,888", "2,020,888") 

我想提取data.table給出的搜索參數的整排:

search <- quote(ColName=="Tangible assets") 
WholeRow <- subset(DT, eval(search)) 

要不然,我已經試過這樣:

DT[ColName=="Tangible assets"] 

其中DT是data.frame的名稱,colname是列名。只有一列名爲ColName,其中包含所有的數據。

如何提取只有部分搜索參數的整行?

+1

看來你的數據是在一個陌生的格式。任何你想保留它的原因,還是先清理它更好? –

+0

是的,確實是奇怪的格式!長話短說。它是從某個文件上抓取的。當然,我會打開清洗等,但那會給我解釋「長話短說」。沒有人想要這樣:) – Maximilian

+1

有可能在你的腳本的某個地方,你有兩個很多的電話到'列表'這樣的事情: 'DT [i = ..,j = list(list(..))]'。這可能值得一看。 –

回答

4

目前您的數據存儲的方式,最好的選擇是使用grepl爲:

DT[grepl("Tangible assets", V1)] 
# where V1 is the name of the column you are searching through 
+0

Thanks.One更多的事情。如何包含更多的搜索參數。像:c(「有形資產」,「投資」)? – Maximilian

+0

我試過循環列表(「有形資產」,「投資」),但有點混亂。 – Maximilian

+1

看看'?Regex'。最簡單的選擇是使用'「|」':'grepl(「有形資產|巨蟒| Holy Grail」,V1)' –