我正在使用以下,.
代码来模拟var theValue = {
"items":
"{'Link': 'http://www.indiansalt.com/services/emp_add_form.asp', 'Title': 'Apply Online'},{'Link': 'media/pdf/details/all-india-govt-jobs/other-all-india-govt-jobs/8522948124.pdf', 'Title': 'Notification '},{'Link': 'http://www.indiansalt.com/', 'Title': ' Official Website'}"
}
// replace single-quotes w/double-quotes
theValue.items = theValue.items.replace(/'/g, '"');
// wrap in brackets
theValue.items = '[' + theValue.items + ']';
// parse
theValue.items = JSON.parse(theValue.items);
// if desired in string format, stringify
var result = JSON.stringify(theValue, null, 1);
console.log(result);
数据集。我已将它们复制到下面。
r
我使用了上面的代码来模拟上面的normal
矩阵数据集。 set.seed(1234)
ml = matrix(c(4,2,3,5,6,8,1,4,3), nrow = 3, ncol = 3)
ml #left side of parameter
[,1] [,2] [,3]
[1,] 4 5 1
[2,] 2 6 4
[3,] 3 8 3
mr = matrix(c(6,4,5,2,8,7,6,9,4), nrow = 3, ncol = 3)
mr #right side of parameter
[,1] [,2] [,3]
[1,] 6 2 6
[2,] 4 8 9
[3,] 5 7 4
n = nrow(ml)
set.seed(1234)
y.all = list()
for(j in 1:ncol(ml)){
for (i in 1:(n - 1)){
y.all[[i]] = c(rnorm(i, ml[i, j], 1), rnorm((n - i), mr[i,j], 1))
}
}
sim.data = matrix(unlist(y.all), ncol(ml)*(ncol(ml) - 1)*ncol(ml), 1, byrow = TRUE)
sim.data = matrix(sim.data, nrow = ncol(ml), ncol = nrow(sim.data)/nrow(ml))
dim(sim.data)
[1] 3 6
sim.data
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 0.2237461 3.889715 0.2237461 3.889715 0.2237461 3.889715
[2,] 6.0644588 3.488990 6.0644588 3.488990 6.0644588 3.488990
[3,] 6.9594941 8.088805 6.9594941 8.088805 6.9594941 8.088805
的第一个3X6
使用2 columns
的{{1}}和sim.data
的{{1}}创建,依此类推。
但是,我以以下方式分别检查了它们。不幸的是,它们并不相同。
1st column
我在上面的ml
代码中犯了任何错误吗?有什么方法可以模拟数据集?
先谢谢您。
答案 0 :(得分:1)
set.seed(1234)
y.all = list()
for(j in 1:ncol(ml)){
for (i in 1:(n - 1)){
y.all[[i]] = c(rnorm(i, ml[i, j], 1), rnorm((n - i), mr[i,j], 1))
}
}
您的for循环更改j
和i
,但是您的y.all
仅查看i
,因此,当j
更改时,它会覆盖{{1} }。最简单的解决方法是添加一个计数器:
i
这首先产生与您的底部方法匹配的结果。 (当您在中间再次使用y.all = list()
counter = 1
for(j in 1:ncol(ml)){
for (i in 1:(n - 1)){
y.all[[counter]] = c(rnorm(i, ml[i, j], 1), rnorm((n - i), mr[i,j], 1))
counter = counter + 1
}
}
时,它们会发散。也许您想要set.seed()
inside 外循环?)
set.seed