生成500行随机数,30行,均匀分布
答
您的runif
命令不正确。不要:
df<-data.frame(replicate(60,runif(300,0,1)))
正如蒂姆和罗兰指出,这是最好(快)使用方法:
df<-matrix(runif(60*300),ncol=60)
对于runif
,第一个参数是观测的数量,然后分钟,然后最大值,用逗号分隔。
df[1:5,1:5]
X1 X2 X3 X4 X5
1 0.4375043 0.76986901 0.1154772 0.8861121 0.0275067
2 0.4024352 0.19291795 0.7496475 0.5159706 0.8768299
3 0.3164539 0.02212373 0.2091863 0.2792025 0.5175030
4 0.2496215 0.51070780 0.8462652 0.2604232 0.9109863
5 0.8450932 0.68503812 0.2391174 0.0220619 0.4943907
至于你的指数分布,如果我是正确的,如果U是0和1,则-ln(U)之间的均匀分布/λ是指数分布的λ参数。 LN函数是R.
log
用下面的代码:
require(fitdistrplus)
set.seed(1)
df<-runif(100000,0,1)
df<-(-log(df))
png('fit.png')
descdist(df)
dev.off()
你得到这个情节:数据似乎遵循指数分布(如预期)
'矩阵(runif(60 * 300),ncol = 60)',当然还有'rexp'来实现您的实际目标。 – Roland