使用 t 检验获取两个向量中观察到的状态的 p 值
Using t-test to get pValue for observed state in two vectors
我打算在网络数据上使用它。
我的网络有两种边。
我写了一个函数 returns 这两种边缘类型的入度分别给你看看它是什么样子的:
Node G_obs R_obs
1 N1 3 2
2 N2 1 0
3 N3 9 0
4 N4 1 4
5 N5 1 0
...
并且我编写了另一个对网络边缘进行采样的函数。这是之后的样子:
Node G_obs R_obs
1 N1 4 1
2 N2 1 0
3 N3 3 6
4 N4 3 2
5 N5 1 0
...
请注意 G_obs+R_obs,也就是节点的入度保持不变。
我想知道每个节点的 pValue 在 G_obs 和 R_obs 之间具有最初观察到的入度分裂。
编辑:
抱歉 - 这似乎有点太不清楚了。
我不想要观察到的分布的 row-wise 概率。
我想要每个节点观察到的 G_obs, R_obs split 的概率,其中 sample(G_obs) + sample(R_obs ) 仍然具有与以前相同的节点总和。
下次我应该咨询母语为英语的人以获得更好的措辞。希望我现在更清楚地描述了这个问题:(
编辑 2
观察:
Node G_obs R_obs
1 N1 3 2
2 N2 1 0
3 N3 9 0
4 N4 1 4
5 N5 1 0
如你所见,N1有5条入边。其中 3 个为绿色 (G_obs),其中 2 个为红色 (R_obs)
对于所示的 5 个节点,我们总共有 15 条绿色边和 6 条红色边。
现在我们 'sample' 所有绿色和所有红色边,也就是将它们重新分配到指定的列中 - 但与此同时,N1 仍然有 5 条边。 (参见上面的示例示例,其中
Node G_obs R_obs
1 N1 4 1
...
我已经有一个可以正确提供 'sampling' 的函数(占位符:mySample(graph)
)并且需要一个采用 mySample 并使用它的函数,例如1000 次,并计算每个节点的原始观察的可能性。
感谢任何帮助
谢谢
听起来你是在追求二项式概率(随机划分两种类型的边会产生与最初观察到的分布相同的概率)。
您可以使用 dbinom()
函数计算这些概率:
transform(
df,
prob_same = dbinom(G_obs, G_obs + R_obs, prob = .5)
)
数据
df <- read.table(
text = "
Node G_obs R_obs
N1 3 2
N2 1 0
N3 9 0
N4 1 4
N5 1 0
",
header = TRUE
)
我打算在网络数据上使用它。
我的网络有两种边。 我写了一个函数 returns 这两种边缘类型的入度分别给你看看它是什么样子的:
Node G_obs R_obs
1 N1 3 2
2 N2 1 0
3 N3 9 0
4 N4 1 4
5 N5 1 0
...
并且我编写了另一个对网络边缘进行采样的函数。这是之后的样子:
Node G_obs R_obs
1 N1 4 1
2 N2 1 0
3 N3 3 6
4 N4 3 2
5 N5 1 0
...
请注意 G_obs+R_obs,也就是节点的入度保持不变。
我想知道每个节点的 pValue 在 G_obs 和 R_obs 之间具有最初观察到的入度分裂。
编辑: 抱歉 - 这似乎有点太不清楚了。 我不想要观察到的分布的 row-wise 概率。 我想要每个节点观察到的 G_obs, R_obs split 的概率,其中 sample(G_obs) + sample(R_obs ) 仍然具有与以前相同的节点总和。 下次我应该咨询母语为英语的人以获得更好的措辞。希望我现在更清楚地描述了这个问题:(
编辑 2
观察:
Node G_obs R_obs
1 N1 3 2
2 N2 1 0
3 N3 9 0
4 N4 1 4
5 N5 1 0
如你所见,N1有5条入边。其中 3 个为绿色 (G_obs),其中 2 个为红色 (R_obs)
对于所示的 5 个节点,我们总共有 15 条绿色边和 6 条红色边。 现在我们 'sample' 所有绿色和所有红色边,也就是将它们重新分配到指定的列中 - 但与此同时,N1 仍然有 5 条边。 (参见上面的示例示例,其中
Node G_obs R_obs
1 N1 4 1
...
我已经有一个可以正确提供 'sampling' 的函数(占位符:mySample(graph)
)并且需要一个采用 mySample 并使用它的函数,例如1000 次,并计算每个节点的原始观察的可能性。
感谢任何帮助 谢谢
听起来你是在追求二项式概率(随机划分两种类型的边会产生与最初观察到的分布相同的概率)。
您可以使用 dbinom()
函数计算这些概率:
transform(
df,
prob_same = dbinom(G_obs, G_obs + R_obs, prob = .5)
)
数据
df <- read.table(
text = "
Node G_obs R_obs
N1 3 2
N2 1 0
N3 9 0
N4 1 4
N5 1 0
",
header = TRUE
)