我尝试使用Kolmogorov-Smirnov检验来检验样本的正态性.这是我做的一个简单的例子:
x <- rnorm(1e5, 1, 2)
ks.test(x, "pnorm")
Run Code Online (Sandbox Code Playgroud)
这是R给我的结果:
One-sample Kolmogorov-Smirnov test
data: x
D = 0.3427, p-value < 2.2e-16
alternative hypothesis: two-sided
Run Code Online (Sandbox Code Playgroud)
p值非常低,而测试应该接受零假设.
我不明白为什么它不起作用.
如何stationarity从fractal packageR中进行测试,不将任何输出打印到屏幕上.
例如,shapiro.wilk在将结果设置为变量时进行测试时,它不会给出任何输出,如下所示
lg.day.ret.vec <- rnorm(100, mean = 5, sd = 3)
shap.p <- shapiro.test(lg.day.ret.vec)$p.value
Run Code Online (Sandbox Code Playgroud)
这是大多数测试的情况,但是当我为stationarity测试做这个时,我在r控制台中获得了一些输出.
library(fractal)
stat.p <- attr(stationarity(lg.day.ret.vec),"pvals")[1]
1
2
3
4
5
6
N = 2609, nblock = 11, n_block_max = 238, dt = 1.0000
7
8
9
10
11
12
13
14
15
16
17
18
Run Code Online (Sandbox Code Playgroud) 考虑一个Data具有多个因子和多个数值连续变量的数据集。这些变量中的一些,比方说slice_by_1(类别为“男性”、“女性”)和slice_by_2(类别为“悲伤”、“中性”、“快乐”)用于将数据“切片”为子集。对于每个子集,Kruskal-Wallis 测试都应该在变量length,上运行preasure,pulse每个变量都由另一个称为 的因子变量分组compare_by。R 中是否有一种快速方法来完成此任务并将计算出的 p 值放入矩阵?
我使用dplyr包来准备数据。
示例数据集:
library(dplyr)
set.seed(123)
Data <- tbl_df(
data.frame(
slice_by_1 = as.factor(rep(c("Male", "Female"), times = 120)),
slice_by_2 = as.factor(rep(c("Happy", "Neutral", "Sad"), each = 80)),
compare_by = as.factor(rep(c("blue", "green", "brown"), times = 80)),
length = c(sample(1:10, 120, replace=T), sample(5:12, 120, replace=T)),
pulse = runif(240, 60, 120),
preasure = c(rnorm(80,1,2),rnorm(80,1,2.1),rnorm(80,1,3))
)
) %>%
group_by(slice_by_1, slice_by_2)
Run Code Online (Sandbox Code Playgroud)
我们来看数据:
Source: local data frame [240 …Run Code Online (Sandbox Code Playgroud) 有兴趣了解如何在 python 中解释 Anderson darling 测试的结果。
似乎 AD 统计数据必须低于其相关显着性水平的临界值,尽管我不确定如何从函数的返回值中正确确定这一点。
这是函数的结果
AndersonResult(statistic=1.383562257554786,
critical_values=array([0.574, 0.654, 0.785, 0.916, 1.089]),
significance_level=array([15. , 10. , 5. , 2.5, 1. ]))
Run Code Online (Sandbox Code Playgroud) 我试图绘制病毒载量和试验臂的简单箱线图,但不断收到此错误“x[floor(d)] + x[ceiling(d)] 中的错误:二元运算符的非数字参数”。
数据集
PatientID trial_arm viral_load
1 club 19
2 clinic 19
3 club 19
4 club 64
5 clinic 32
6 clinic 29
7 clinic 92
8 club 19
9 clinic 19
10 club 27
Run Code Online (Sandbox Code Playgroud)
当我运行代码时:
> boxplot(dataset,viral_load~trial_arm)
Error in x[floor(d)] + x[ceiling(d)] :
non-numeric argument to binary operator
Run Code Online (Sandbox Code Playgroud)
Trial_arm 变量设置为一个因子,而 Viral_load 是数字。
我想用Java计算一个混淆矩阵2 x 2的Phi系数,其代码如下:
double str= (trueP + falseP) *(trueP + falseN) * (trueN + falseP) * (trueN + falseN);
double output= Math.sqrt(str);
if (output!= 0.0)
return (trueP * trueN) / output;
else return 0.0;
Run Code Online (Sandbox Code Playgroud)
其中trueP = 6930,trueN = 6924,falseP = 0,falseN = 0,此代码的输出为3629.03401901938.我已经计算了excel中的Phi系数,它为相同的值返回值1
什么是错的?
任何帮助将受到高度赞赏
我有以下数据列表,每个都有10个样本.该值表示特定分子的结合强度.
我想要表示的是'x'在统计上与'y','z'和'w'不同.如果你看X它会有更多的值比其他值大于零(2.8,1.00,5.4等).
我尝试了t检验,但所有这些都显示出与高P值无显着差异.
什么是适当的测试?
以下是我的代码:
#!/usr/bin/Rscript
x <-c(2.852672123,0.076840264,1.009542943,0.430716968,5.4016,0.084281843,0.065654548,0.971907344,3.325405405,0.606504718)
y <- c(0.122615039,0.844203734,0.002128992,0.628740077,0.87752229,0.888600425,0.728667099,0.000375047,0.911153571,0.553786408);
z <- c(0.766445916,0.726801899,0.389718652,0.978733927,0.405585807,0.408554832,0.799010791,0.737676439,0.433279599,0.947906524)
w <- c(0.000124984,1.486637663,0.979713013,0.917105894,0.660855127,0.338574774,0.211689885,0.434050179,0.955522972,0.014195184)
t.test(x,y)
t.test(x,z)
Run Code Online (Sandbox Code Playgroud)