模拟与多个其他向量相关的数据
Simulate data with correlations to multiple other vectors
我正在尝试模拟一个与其他几个向量相关的向量。我想出了用于模拟与另一个向量相关的向量的代码,但无法弄清楚如何通过与多个其他向量的相关性来模拟它:
这是我的代码:
library(faux)
p4<-rnorm_pre(data$p1, mu = 0, sd = 10, r = 0.4, empirical = FALSE)
我想做的是以某种方式为要关联的模拟特征识别多个向量。我不确定这个库是否最好用
我的数据看起来像
ID p1 p2 p3
1 0.25 0.30 0.02
2 0.05 0.67 0.18
3 0.09 0.31 0.38
4 0.55 0.87 0.21
5 0.25 0.64 0.01
我想添加另一列名为 p4 的列,它是模拟数据的向量,与 p1 和 p3 相关。
非常感谢任何建议。
新向量可以像vignette说的那样创建。
library(faux)
data$p4 <- rnorm_pre(
data[-1], # remove 1st column ID
mu = 0,
sd = 4,
r = c(-0.2, 0.2, 0.1)
)
cor(data[-1])
# p1 p2 p3 p4
#p1 1.0000000 0.5695821 -0.20120754 -0.21833687
#p2 0.5695821 1.0000000 -0.08533300 0.60506386
#p3 -0.2012075 -0.0853330 1.00000000 0.06803646
#p4 -0.2183369 0.6050639 0.06803646 1.00000000
这是一种指定仅与列 p1
和 p3
相关的方法。
data$p5 <- rnorm_pre(
data[c("p1", "p3")], # only columns p1 and p3
mu = 0,
sd = 1,
r = c(0.5, -0.2)
)
cor(data[c("p1", "p3", "p5")])
# p1 p3 p5
#p1 1.0000000 -0.2012075 0.5772403
#p3 -0.2012075 1.0000000 -0.0806465
#p5 0.5772403 -0.0806465 1.0000000
dput
格式的数据
data <-
structure(list(ID = 1:5, p1 = c(0.25, 0.05, 0.09, 0.55, 0.25),
p2 = c(0.3, 0.67, 0.31, 0.87, 0.64), p3 = c(0.02, 0.18, 0.38,
0.21, 0.01)), class = "data.frame", row.names = c(NA, -5L))
我正在尝试模拟一个与其他几个向量相关的向量。我想出了用于模拟与另一个向量相关的向量的代码,但无法弄清楚如何通过与多个其他向量的相关性来模拟它:
这是我的代码:
library(faux)
p4<-rnorm_pre(data$p1, mu = 0, sd = 10, r = 0.4, empirical = FALSE)
我想做的是以某种方式为要关联的模拟特征识别多个向量。我不确定这个库是否最好用
我的数据看起来像
ID p1 p2 p3
1 0.25 0.30 0.02
2 0.05 0.67 0.18
3 0.09 0.31 0.38
4 0.55 0.87 0.21
5 0.25 0.64 0.01
我想添加另一列名为 p4 的列,它是模拟数据的向量,与 p1 和 p3 相关。
非常感谢任何建议。
新向量可以像vignette说的那样创建。
library(faux)
data$p4 <- rnorm_pre(
data[-1], # remove 1st column ID
mu = 0,
sd = 4,
r = c(-0.2, 0.2, 0.1)
)
cor(data[-1])
# p1 p2 p3 p4
#p1 1.0000000 0.5695821 -0.20120754 -0.21833687
#p2 0.5695821 1.0000000 -0.08533300 0.60506386
#p3 -0.2012075 -0.0853330 1.00000000 0.06803646
#p4 -0.2183369 0.6050639 0.06803646 1.00000000
这是一种指定仅与列 p1
和 p3
相关的方法。
data$p5 <- rnorm_pre(
data[c("p1", "p3")], # only columns p1 and p3
mu = 0,
sd = 1,
r = c(0.5, -0.2)
)
cor(data[c("p1", "p3", "p5")])
# p1 p3 p5
#p1 1.0000000 -0.2012075 0.5772403
#p3 -0.2012075 1.0000000 -0.0806465
#p5 0.5772403 -0.0806465 1.0000000
dput
格式的数据
data <-
structure(list(ID = 1:5, p1 = c(0.25, 0.05, 0.09, 0.55, 0.25),
p2 = c(0.3, 0.67, 0.31, 0.87, 0.64), p3 = c(0.02, 0.18, 0.38,
0.21, 0.01)), class = "data.frame", row.names = c(NA, -5L))