簡體   English   中英

從R中的數據框中提取特定行

[英]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 ,而您卻沒有!

假設條件

  1. names(original)中單詞“ symbol”的正確大寫字母以大寫S( Symbol )顯示。
  2. names(duplicate)中單詞“ symbol”的正確大小寫以小寫的s( symbol )顯示。

如果兩者均大寫,則可以使用以下解決方案之一:

merge(original, duplicate)
original[original$Symbol %in% duplicate$Symbol, ]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM