【发布时间】:2021-01-10 01:59:03
【问题描述】:
下面,我展示了一段代码,用于在R 中生成一组项目分数。然而,似乎有相当多的不必要的重复才能到达最终的data。
我想知道是否有更紧凑的方法可以在R 中实现相同的data?
set.seed(8649)
N = 10
latent = rnorm(N)
##### generate latent responses to items
item1 = latent + rnorm(N, mean=0, sd=0.2)
item2 = latent + rnorm(N, mean=0, sd=0.3)
item3 = latent + rnorm(N, mean=0, sd=0.5)
item4 = latent + rnorm(N, mean=0, sd=1.0)
item5 = latent + rnorm(N, mean=0, sd=1.2)
##### convert latent responses to ordered categories
item1 = findInterval(item1, vec=c(-Inf,-2.5,-1, 1,2.5,Inf))
item2 = findInterval(item2, vec=c(-Inf,-2.5,-1, 1,2.5,Inf))
item3 = findInterval(item3, vec=c(-Inf,-3, -2, 2,3, Inf))
item4 = findInterval(item4, vec=c(-Inf,-3, -2, 2,3, Inf))
item5 = findInterval(item5, vec=c(-Inf,-3.5,-3,-1,0.5,Inf))
data = cbind(item1, item2, item3, item4, item5)
【问题讨论】:
-
我猜你可能会创建一个函数,因为一些参数正在改变
-
根据您创建输出的方式,它可以是一个列表。我发布了一个解决方案。可能对你有帮助
标签: r loops random tidyverse simulation