R 计算对数变换后的标准误差

R 计算对数变换后的标准误差,r,statistics,R,Statistics,考虑一组正态分布的随机数: x <- rnorm(n=1000, mean=10) 我的问题:为什么对于正态分布,标准误差会有所不同,这取决于它是从分布本身计算出来的,还是经过变换、计算和反变换的?在这个例子中,有趣的是,差几乎正好是3个数量级。注:无论变换如何,平均值都是相同的 编辑1:最终,我对计算非正态分布数据的平均值和置信区间感兴趣,因此,如果您能就如何计算转换数据的95%置信区间提供一些指导,包括如何将其转换回原始单位,我将不胜感激! 结束编辑1 编辑2:我尝试使用分位数函数获

考虑一组正态分布的随机数:

x <- rnorm(n=1000, mean=10)
我的问题:为什么对于正态分布,标准误差会有所不同,这取决于它是从分布本身计算出来的,还是经过变换、计算和反变换的?在这个例子中,有趣的是,差几乎正好是3个数量级。注:无论变换如何,平均值都是相同的

编辑1:最终,我对计算非正态分布数据的平均值和置信区间感兴趣,因此,如果您能就如何计算转换数据的95%置信区间提供一些指导,包括如何将其转换回原始单位,我将不胜感激! 结束编辑1

编辑2:我尝试使用分位数函数获得95%的置信区间:

quantile(x, probs = c(0.05, 0.95))     # around [8.3, 11.6]
10^quantile(z, probs = c(0.05, 0.95))  # around [8.3, 11.6]
所以,这都集中在同一个答案上,这是好的。但是,使用这种方法,使用小样本量的非正态数据时,不会提供完全相同的间隔:

t <- rlnorm(10)
mean(t)                            # around 1.46 units
10^mean(log(t, base=10))           # around 0.92 units
quantile(t, probs = c(0.05, 0.95))                     # around [0.211, 4.79]
10^(quantile(log(t, base=10), probs = c(0.05, 0.95)))  # around [0.209, 4.28]
哪种方法更正确。我想人们会选择最保守的估计

例如,您是否会将非正态数据t的结果报告为平均值为0.92个单位,95%置信区间为[0.211,4.79]? 结束编辑2


谢谢你的时间

对于任意分布的95%CI的简单方法,使用hist函数并识别2.5%的尾部。根据需要迭代断点。这不是编码问题。阅读有关正态分布和对数正态分布的关系以及CrossValidated.com的后续信息。似乎已经得到了回答。请查看
10^mean(z) # something near 10.0 units
10^se(z)   # something near 1.00 units
quantile(x, probs = c(0.05, 0.95))     # around [8.3, 11.6]
10^quantile(z, probs = c(0.05, 0.95))  # around [8.3, 11.6]
t <- rlnorm(10)
mean(t)                            # around 1.46 units
10^mean(log(t, base=10))           # around 0.92 units
quantile(t, probs = c(0.05, 0.95))                     # around [0.211, 4.79]
10^(quantile(log(t, base=10), probs = c(0.05, 0.95)))  # around [0.209, 4.28]