[英]Extracting specific rows from the data frame in R
我在名為原始的制表符分隔文本文件中具有以下類似數據
Name Symbol Value
abcd A 56
de45 C 67
ji98 H 90
k9ug K 43
phzt L 98
prex P 21
kadf T 32
另外,我在另一個制表符分隔的文本文件中存儲了選定符號的列表,這些文件名為重復
Symbol Description
K Intel
P Diary
C Cape
S Sheath
A Aim
我想從原始文件中提取具有相同重復符號的行。 我希望我的輸出如下所示:
Name Symbol Value
abcd A 56
de45 C 67
k9ug K 43
prex P 21
我嘗試使用以下代碼,但有些方法卻無法獲得任何結果或僅獲得A的行。 這是我使用的代碼
result <- original[original$Symbol %in% duplicate$Symbol,]
誰能幫我。
這可以通過簡單的merge
來完成:
merge(original, duplicate, by.x="Symbol", by.y="symbol")
# Symbol Name Value Description
# 1 A abcd 56 Aim
# 2 C de45 67 Cape
# 3 K k9ug 43 Intel
# 4 P prex 21 Diary
如果不相關,則可以在合並之前或之后手動刪除“ Description
列。
另外,我不知道這是否與發布的問題有關,還是與您的代碼有關,但是:
original[original$Symbol %in% duplicate$symbol, ]
# Name Symbol Value
# 1 abcd A 56
# 2 de45 C 67
# 4 k9ug K 43
# 6 prex P 21
當然,您必須正確拼寫original
,而您卻沒有!
names(original)
中單詞“ symbol”的正確大寫字母以大寫S( Symbol
)顯示。 names(duplicate)
中單詞“ symbol”的正確大小寫以小寫的s( symbol
)顯示。 如果兩者均大寫,則可以使用以下解決方案之一:
merge(original, duplicate)
original[original$Symbol %in% duplicate$Symbol, ]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.