[英]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.