Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R中是否有可以生成数据的函数/包,您可以在其中指定变量之间的关系?_R_Regression_Simulation_Logistic Regression - Fatal编程技术网

R中是否有可以生成数据的函数/包,您可以在其中指定变量之间的关系?

R中是否有可以生成数据的函数/包,您可以在其中指定变量之间的关系?,r,regression,simulation,logistic-regression,R,Regression,Simulation,Logistic Regression,我感兴趣的是运行一些多变量线性回归数据模拟,以尝试一些新的统计方法,然后再在我的真实数据集上使用它们,其中我对结果(连续和分类)回归一组预测变量 目标是生成具有三个假风险敞口和一个结果的数据,可以选择设置每个风险敞口和结果(连续)之间关系的贝塔估计值,或者设置结果(分类结果)的相对风险或优势比。这是在R中很容易做到的事情吗 例如,最好设置一个4变量数据集,其中一个变量与我设置的OR/RR为1.5的分类结果相关,然后如果我对该数据集进行逻辑回归,则该关系的RR/OR为1.5 谢谢 您可以生成随机分

我感兴趣的是运行一些多变量线性回归数据模拟,以尝试一些新的统计方法,然后再在我的真实数据集上使用它们,其中我对结果(连续和分类)回归一组预测变量

目标是生成具有三个假风险敞口和一个结果的数据,可以选择设置每个风险敞口和结果(连续)之间关系的贝塔估计值,或者设置结果(分类结果)的相对风险或优势比。这是在R中很容易做到的事情吗

例如,最好设置一个4变量数据集,其中一个变量与我设置的OR/RR为1.5的分类结果相关,然后如果我对该数据集进行逻辑回归,则该关系的RR/OR为1.5


谢谢

您可以生成随机分类变量,然后设置B0=1、B1=log(1.5)、B2=1、B3=1,并生成相应的XB。然后使用logit link函数,您可以为每个观察值/行x生成P(Y=1 | x),并使用
sample
选择Y=1或0的概率。使用二项式族拟合逻辑回归,最后将“a”的系数指数化,得到该变量的优势比。因为我们已经将其设置为log(1.5),所以求幂得到大约1.5

dt=data.frame(a=sample(c(0,1), 10000, replace=TRUE), 
              b=sample(c(0,1), 10000, replace=TRUE),
              c=sample(c(0,1), 10000, replace=TRUE))
library(dplyr)
dt=mutate(dt, xb=1+log(1.5)*a+b+c, linked=1/(1+exp(-xb)))
y=numeric()
for (i in 1:10000) {
  y[i]=sample(c(1,0), prob=c(dt$linked[i], 1-dt$linked[i]), size=1)
}
dt$y=y
m=glm(data=dt, y ~ a+b+c, family="binomial")
exp(m$coef["a"])

1.422448