首页 > 解决方案 > 理解 R. 子集中的索引

问题描述

我想更好地了解 R 如何设法弄清楚我们如何对观察进行子集化,以及子集化的最佳实践是什么。这是一个工作示例:

set.seed(1)
n = 2000; p = 10
X = matrix(rnorm(n*p), n, p)
W = rbinom(n, 1, 0.5)
Y = pmax(X[,1], 0) * W + X[,2] + pmin(X[,3], 0) + rnorm(n)


X_data<-as.data.frame(X)
Y_data<-as.data.frame(Y)
W_data<-as.data.frame(W)

olsdata<-bind_cols(Y_data, X_data)

print(summary(lm(Y~V1, data=olsdata, subset = W==0)))

当 W、X 和 Y 都分别定义时,R 如何知道哪些观察值具有 W=0?

用 Y 和 X 做 W 的 bind_cols 是否更准确,然后在 df 中已经存在的变量 W 上做子集?例如:

ols<- bind_cols(Y_data, X_data, W_data) and then do the subsetting on ols$W=0? 

作为第三种选择,我可以考虑在所有三个数据库中手动创建一个索引,然后做一个左联合以确保观察结果保持它们的顺序?

这三种选择中的任何一种是否被认为是最佳实践/更有效?

谢谢你。

标签: rindexingsubset

解决方案


推荐阅读