어린이 집단에 대한 두 가지 무게 및 연령 값을 시뮬레이션하려고합니다. 이 데이터는 저체중 체중이 천천히 변화하고 월경 후 약 30 주 정도 지나면 체중 증가가 가속화되어 약 50 주 정도 지나면 평형을 유지할 수 있도록 S 자형으로 상관되어야합니다.R - S 자형 상관 공변량을 시뮬레이트합니다.
저는 아래 코드를 사용하여 체중과 나이 사이의 선형 상관 관계를 비교적 잘 처리 할 수있었습니다. 문제가되는 부분은이 코드를 데이터에 더 S 자형으로 만들기위한 것입니다. 어떤 제안이라도 대단히 감사하겠습니다.
는# Load required packages
library(MASS)
library(ggplot2)
# Set the number of simulated data points
n <- 100
# Set the mean and standard deviations for
# the two variables
mean_age <- 50
sd_age <- 20
mean_wt <- 10
sd_wt <- 4
# Set the desired level of correlation
# between the two variables
cor_agewt <- 0.9
# Build the covariance matrix
covmat <- matrix(c(sd_age^2, cor_agewt * sd_age * sd_wt,
cor_agewt * sd_age * sd_wt, sd_wt^2),
nrow = 2, ncol = 2, byrow = TRUE)
# Simulate the correlated results
res <- mvrnorm(n, c(mean_age, mean_wt), covmat)
# Reorganize the simulate data into a data frame
df <- data.frame(age = res[,1],
wt = res[,2])
# Plot the results and fit a loess spline
# to the data
ggplot(df, aes(x = age, y = wt)) +
geom_point() +
stat_smooth(method = 'loess')
전류 출력 : (연령 및 무게의 작은 범위이기는하지만)
이상적인 출력 :
우수 - 훌륭하게 작동합니다. 표준 편차를 줄이지 않고 무게의 시뮬레이션 값을 양수로 제한 할 수 있는지 알고 있습니까? – Entropy
당신은 오신 것을 환영합니다. 가능한 일이지만 쉬운 수정이 아니며 문제를 처음 언급 한 것보다 훨씬 어렵게 만듭니다. 정상적인 오류를 잘린 정상으로 대체하면 아마도 가까이 갈 수 있습니다. 'sim_wt <-truncnorm :: rtruncnorm (n, 0,, 평균 = m * wt, sdfit)'. 그러나 정확한 해법은 이제 평균 (wt) ~ 평균 (age)의 함수 형태뿐만 아니라 분산을 지정해야하기 때문에 더욱 복잡합니다. –
유익하고 사려 깊은 답변에 감사드립니다. – Entropy