gpt4 book ai didi

r - 将 R 中两个帧中的变量与循环进行比较

转载 作者:行者123 更新时间:2023-12-01 23:56:33 25 4
gpt4 key购买 nike

我正在尝试比较具有相同变量的两个数据集的匹配项,逐个变量。使用循环,我不能完全得到变量向量的名称去工作。这是代码示例:

vars <- c("a", "b", "c")
x <- data.frame(a = rnorm(100), b = rnorm(100), c=rnorm(100))
y <- data.frame(a = rnorm(100), b = rnorm(100), c=rnorm(100))

for(i in 1:length(vars)){
print(table(x$vars[i] %in% y$vars[i]))
}

非常感谢任何和所有的想法。

最佳答案

您不能使用 $ 和变量名访问 data.frame 的列。在您的示例中,您在 data.frame x vars 列的第 i 个元素(不存在) 和 y。正确的访问方式是 [:

for(i in 1:length(vars)){
print(table(x[, vars[i]] %in% y[, vars[i]]))
}

顺便说一句:您可以为此目的使用 mapply 并避免手动访问列:

mapply(function(xx, yy)table(xx %in% yy), xx=x, yy=y)

关于r - 将 R 中两个帧中的变量与循环进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23391931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com