如何根据R中另一个数据帧中的列的值筛选数据帧?
例如,我有一个数据帧-- 结果应该是-- 我发现了一些例子,但这些都是针对小数据帧的,我的两个数据帧都是大的 正在尝试编写查询,但没有成功?你怎么能解决这个问题如何根据R中另一个数据帧中的列的值筛选数据帧?,r,R,例如,我有一个数据帧-- 结果应该是-- 我发现了一些例子,但这些都是针对小数据帧的,我的两个数据帧都是大的 正在尝试编写查询,但没有成功?你怎么能解决这个问题 谢谢 我们可以使用%中的%和子集根据两个数据集中的“键”列对“ad1”中的行进行子集 subset(ad1, key %in% ad$key) # key QS IS LISR Group version #1 ab 7 23 77 2 1.2 #2 bc 7 30 70 1 1.5
谢谢 我们可以使用%中的
%和子集
根据两个数据集中的“键”列对“ad1”中的行进行子集
subset(ad1, key %in% ad$key)
# key QS IS LISR Group version
#1 ab 7 23 77 2 1.2
#2 bc 7 30 70 1 1.5
#3 cd 8 40 60 2 1.4
或者另一个选项是从data.table
中加入join
。在devel版本中,我们可以在
上使用。我们将“data.frame”转换为“data.table”(setDT(ad1)
),并加入“ad”数据集
library(data.table)#v1.9.5+
setDT(ad1)[ad['key'], on='key']
# key QS IS LISR Group version
#1: ab 7 23 77 2 1.2
#2: bc 7 30 70 1 1.5
#3: cd 8 40 60 2 1.4
我们可以使用%
中的%和子集
根据两个数据集中的“键”列对“ad1”中的行进行子集
subset(ad1, key %in% ad$key)
# key QS IS LISR Group version
#1 ab 7 23 77 2 1.2
#2 bc 7 30 70 1 1.5
#3 cd 8 40 60 2 1.4
或者另一个选项是从data.table
中加入join
。在devel版本中,我们可以在
上使用。我们将“data.frame”转换为“data.table”(setDT(ad1)
),并加入“ad”数据集
library(data.table)#v1.9.5+
setDT(ad1)[ad['key'], on='key']
# key QS IS LISR Group version
#1: ab 7 23 77 2 1.2
#2: bc 7 30 70 1 1.5
#3: cd 8 40 60 2 1.4
这也适用于:
ad1[which(ad1$key %in% ad$key),]
这也适用于:
ad1[which(ad1$key %in% ad$key),]
Trysubset(ad1,键%in%ad$key)
值列是否应该对输出有任何影响?很抱歉,数据帧中的列名键不同,但是根据您的建议(我刚刚更改了列名)结果如果列名不同,请在子集中使用该列名(ad1,%ad$key中的%key)
值列是否应该对输出有任何影响?很抱歉,数据帧中的列名键不同,但根据您的建议(我刚刚更改了列名)结果如果列名不同,请在子集中使用该列名
“耶和华给了,耶和华带走了。”(c:“耶和华给了,耶和华带走了。”(c: