喜可愛的計算器的朋友,如何在R中使用正則表達式來僅獲取特定數據?
最近,我有以下問題上來:
有裝成R巨大的數據表我開始使用which()
來得到所需的條目。但事實證明,一些條目中的數據結構並非真正的多餘。
E.g.表中的一個組成部分叫刺激可包含以下內容:
money_01, money_02, money_3, ..., money_xy
但實際上的數字不在乎。
所以,當我試圖讓我的表的具體數據我通常做:
SpecificData <- DataTable[which(DataTable$Block == "1" & DataTable$Orientation == "approach" & DataTable$Stimuli == "money"), c(1,2,3)]
其中money
應該算爲所有money_xy
箱子了。我怎樣才能做到這一點?
謝謝!問候,克里斯。
編輯01:(感謝幫助我) 一個更詳細的例子考慮表:
Subject, Block, Orientation, Stimuli
01, 7, approach, money_73
02, 2, approach, person_3
03, 3, avoid, neutral_93
04, 1, approach, money_11
而從這個表我想所有的科目,他們的塊和方向,如果他們的塊= 1,orientation = approach,stimuli = money
在那裏我不知道如何使用「money」,以便它與表中的money_xy的所有變體相匹配。
EDIT2:[解決]
由於伊姆蘭·阿里的回答(和所有其他的建議太)我解決了這個問題。事實證明,沒有必要使用which()
我們可以簡單地在我的特定情況下使用grepl(matching_string, source_string)
這導致:
SpecificData <- DataTable[DataTable$Block == "1" & DataTable$Orientation == "approach" & grepl('money', DataTable$Stimuli), c(1,2,3)]
謝謝!
請提供例如數據集和預期產出,你的問題的說明是截至目前還不是很清楚。 – mtoto
你在'which'中有多個條件。你想要所有這些申請?即將他們與&? – G5W