【发布时间】:2018-02-13 00:14:29
【问题描述】:
我在 R 中创建了一个向量数组,并且应该找到它们的每一个 F-hat 值。有没有一行代码可以做到这一点?见下面我的。
V G
现在,我希望从 G 中的每个随机样本中提取一个特定值。感谢任何和所有帮助。
【问题讨论】:
-
你可能会在这里获得更多的运气stats.stackexchange.com
标签: r statistics
我在 R 中创建了一个向量数组,并且应该找到它们的每一个 F-hat 值。有没有一行代码可以做到这一点?见下面我的。
V G
现在,我希望从 G 中的每个随机样本中提取一个特定值。感谢任何和所有帮助。
【问题讨论】:
标签: r statistics
R ecdf 函数接受一个数据向量并返回一个函数,该函数将为该数据向量提供 ecdf 值。要获取数据向量范围内给定值的 ecdf 的实际累积概率值,您将运行 ecdf 返回的函数。例如:
set.seed(2)
G <- as.data.frame(replicate(100, rbinom(40, 7, .1)))
G第一列的ecdf:
G1 = ecdf(G[ , 1])
现在我们可以使用这个函数G1 来获取每个可能的数据值的实际经验累积概率(在这种情况下恰好是 0 到 7):
G1(0:7)
[1] 0.500 0.850 0.975 1.000 1.000 1.000 1.000 1.000
如果我们查看G 的第 1 列中的数据,这是有道理的。请注意,50% 的值为零,85% (34/40) 为零或 1:
table(G[,1])
0 1 2 3 20 14 5 1
要获取每一列的 ecdf,您可以:
ecdfG = sapply(G, function(x) ecdf(x)(0:7))
这是ecdfG 的前 10 列。请注意,第 1 列包含我们上面计算的 ecdf 值。
ecdfG[ , 1:10]
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 [1,] 0.500 0.500 0.575 0.575 0.525 0.450 0.450 0.475 0.525 0.550 [2,] 0.850 0.800 0.825 0.850 0.825 0.775 0.825 0.900 0.850 0.875 [3,] 0.975 0.925 0.950 0.975 0.950 0.950 0.975 0.975 0.975 0.975 [4,] 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 0.975 [5,] 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 [6,] 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 [7,] 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 [8,] 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000
【讨论】: