想从三角形分布生成数字,它只有三个参数:在我的情况下,a,b,c和c被定义为(a + b)/ 2。 比方说,我有一个向量x:三角形分布的随机样本:R
x <- c(1,-1,2,-2,3,-3,4,-4,5,-5,11,-11,12,-12,13,-13)
而且我想因为有在向量x负数产生许多新的值。因此,我可以用三角分布生成的数字代替负值。
library(triangle)
c = abs(x[x<0])/2
sample <- rtriangle(length(a[which(a<0)]), 0, abs(x[x<0]),c)
显然是行不通的,因为我得到一个警告消息:
警告消息: 1:在IF(A> C | b < c)返回(REP(南安倍= n)): 条件长度> 1且仅使用第一个元素 2:In if(a!= c){: 条件长度> 1且仅使用第一个元素 3:在p [i] *(b - a)中: 较长的物体长度不是较短物体长度的倍数 4:在p [i] < - a + sqrt(p [i] *(b - a)*(c - a))中: 要替换的项数不是替换长度的倍数 5: (1-p [j])*(b-a): 较长的对象长度不是较短的对象长度的倍数 6:在p [j] < -b-sqrt b - α)*(b - C)): 数项替换的是不更换长
参数'a'为0,但'b'和'c'不是单个数字。我不清楚你如何尝试抽样。 –
从'rtriangle'的帮助下:'a,b和c可能是适当的长度向量,除了rtriangle的情况。' –
我想得到一个向量(向量长度对应于向量中的一些负数* * x **)从三角形分布采样的数字。我想在从_a_(_a = 0_)到_b_(_b是向量_ ** x **中的负向元素的绝对值)的范围内采样,并且参数_c_是:_c = b/2_。 – marianess