R 基于DF2创建数据帧,超过DF1,行和行相同(特殊合并条件)
在我提交我的问题之前,我寻找了类似的问题,但我没有找到我想要的类似结果。 我有两个数据框表格,行中有相同的日期(年),行中有相同的公司,但每个数据框解释一个变量,表格中的值是一个带有字母的分类:R 基于DF2创建数据帧,超过DF1,行和行相同(特殊合并条件),r,merge,combinations,R,Merge,Combinations,在我提交我的问题之前,我寻找了类似的问题,但我没有找到我想要的类似结果。 我有两个数据框表格,行中有相同的日期(年),行中有相同的公司,但每个数据框解释一个变量,表格中的值是一个带有字母的分类: (BM) Dataframe Name | X1992 | X1993 | X1994 | X1995 ---- | ----- | ----- | ----- | ---- xyze | Na | Na | B | B zyea | A | B |
(BM) Dataframe
Name | X1992 | X1993 | X1994 | X1995
---- | ----- | ----- | ----- | ----
xyze | Na | Na | B | B
zyea | A | B | B | A
ddfa | Na | Na | D | D
arer | C | C | A | A
zaer | Na | A | A | B
wxcv | A | A | B | A
lklj | B | D | D | D
jgie | B | B | C | C
azer | C | B | C | B
lmoz | Na | Na | Na | A
jzea | D | D | D | C
(Size) Dataframe
Name | X1992 | X1993 | X1994 | X1995
---- ----- ----- ----- ----
xyze Na Na D C
zyea B D A A
ddfa Na Na D C
arer A A C C
zaer Na A A D
wxcv C B C A
lklj C C B D
jgie D B C D
azer B A A B
lmoz Na Na Na C
jzea A D A B
我希望得到下面这样的结果(例如:BM“A”和规模“C”的公司)
这是一个与现实的小投影 这可以通过将相应列与
Map
data.frame(Map(function(x,y) x %in% "A" & y %in% "C", BM[-1], Size[-1]))
这里,当'BM'中的column元素为'a'且'Size'为'C'时,输出将是一个data.frame
,其中逻辑列具有TRUE元素。所有其他案例都是假的
注意:这里,我们假设Na是
Na
,这是一个打字错误这可以通过将相应的列与Map
data.frame(Map(function(x,y) x %in% "A" & y %in% "C", BM[-1], Size[-1]))
这里,当'BM'中的column元素为'a'且'Size'为'C'时,输出将是一个data.frame
,其中逻辑列具有TRUE元素。所有其他案例都是假的
注意:这里,我们假设Na是
Na
,它是一个打字错误,请使用dput
来显示示例。尝试Map(函数(x,y)在%c('A','c')中的x%和在%c('A','c')中的y%,BM[-1],Size[-1])
它还可以帮助您阅读整洁的数据。请使用dput
显示示例。尝试Map(函数(x,y)在%c('A','c')中为x%,在%c('A','c')中为y%,BM[-1],Size[-1])
。