【发布时间】:2020-11-24 15:29:28
【问题描述】:
我有一个非常简单的索引问题。如果我有两个变量 A 和 B
A = c(1,2,1,1)
B = data.frame( x = c(1,2), y=c( 'up', 'down') )
我需要 A 的输出,结果类似于
[1]“上”“下”“上”“上”
我的代码是这样的
B[ which(A %in% B$x), ]$y
但我明白了
[1] "上" "下" NA NA
修复我的代码的最短方法是什么?
【问题讨论】:
-
B[A, "y"]或B$y[A] -
B[match(A, B$x), "y"] -
谢谢! @GregorThomas
-
@Roland,这也是其他解决方案!谢谢!
-
那是因为我的方法并没有像@GregorThomas 那样对
B$x做出如此强烈的假设。
标签: r dataframe vector indexing