我正在尝试编写一个函数来对我的数据框中的多个列运行shapiro测试。我尝试使用以下代码,但它一直返回此错误。我已经确保相关的列是数字的。 fun1<- function(x){
shapiro.test(names(data)[22:31])
} 这就是我得到的错误 Error in shapiro.test(names(TBI)[22:31]) : is.numeric(x) is not TRUE
我有一个相对简单的问题,我无法应用我在互联网上找到的解决方案。假设我们有:
set.seed(20)
data <- data.frame(month = rep(month.name, 25),
a = rnorm(300, 0, 1), b = runif(300, 0, 7.2))
我想使用循环计算、a、和b-列之间方差的f检验,在月中,每个月的方差都是f检验。这是我通过使用以下方法完成的:
# create some empty vectors to fill in later
pval <- as.double()
ftest <- as.double()
mo
我希望使用beanplot来显示与响应变量对应的分类预测变量中4个增量的可视化比较。我的问题是,增量之一是一个充满零的向量,因此可以理解的是,beanplot例程的shapiro.test阶段将无法工作。
(这是我遇到的错误)
Error in shapiro.test(x) : all 'x' values are identical
是否有一种方法可以绕过这一点,并说如果存在一个零向量,那么对该增量不做任何操作,然后转移到下一个增量,这样我的图在x轴上以4次增量结束,对于向量包含值>0的增量,只有3次图?
非常感谢你的帮助。
万事如意,
贝克斯
我想用Chi-Square Goodness of Fit Test在R中测试一组数据的正态性,就像我测试Shapiro测试的方式一样。我有我的样本大小是10, 20,50 and 100而我的replicate is 1000
## Shapiro- wilk test [sw]
x <- rnorm(x, 0, 1)
out <- t(sapply(c(10, 20, 50, 100), function(x)
table(replicate(1000,shapiro.test(rnorm(x)))["p.value",] < 0.05)))
ro
我有一个名为ddd的R矩阵。当我输入这段代码时,一切都很正常:
i <- 1
shapiro.test(ddd[,y])
ad.test(ddd[,y])
stem(ddd[,y])
print(y)
对夏皮罗·威尔克、安德森·达林和stem的调用都是有效的,并提取相同的列。
如果我把这段代码放在一个"for“循环中,那么对Shapiro和Anderson Darling的调用就会停止工作,而茎叶调用和print调用则会继续工作。
for (y in 7:10) {
shapiro.test(ddd[,y])
ad.test(ddd[,y])
st
今天,我开始使用purrr函数,这样我就可以尝试通过一种更实用的方法来使用R。我目前有一个数据文件,其中包含一个带有许多其他变量的响应变量。我的目标是按照响应列中的级别拆分数据,然后在所有拆分的数据文件上运行shapiro.test()。
例如,此代码工作如下:
# fake data
df = data.frame(y = c(rep(1,10), rep(2, 10)),
a = rnorm(20),
b = runif(20),
c = rnorm(20))
df$y <- fa
我正在处理这段代码,并且总是有相同的错误:
pvalShapirogroup2=rep(0,variables)
group1=data[class==1,]
group2=data[class==2,]
for (i in 1:variables)
{shapiro1=shapiro.test(group1[,i])
shapiro2=shapiro.test(group2[,i])
pvalShapirogroup1[i]=shapiro1$p.value
pvalShapirogroup2[i]=shapiro2$p.value}```
Error in
我试图找到任何方法来测试泊松残差,比如aov()中的法线。在我假设的例子中: # For normal distribution
x <- rep(seq(from=10, to=50, by=0.5),6)
y1 <- rnorm(length(x), mean=10, sd=1.5)
#Normality test in aov residuals
y1.av<-aov(y1 ~ x)
shapiro.test(y1.av$res)
# Shapiro-Wilk normality test
#
#data: y1.av$res
#W = 0.99782, p-
让我们考虑一下来自Kaggle ()的IBM消耗数据集。如何快速获得具有最高Shapiro p值的变量?
换句话说,我可以将函数shapiro()作为shapiro(df['column'])应用在列中。我想为所有的数值列计算这些函数。
我试过这个:
from scypy.stats import shapiro
df = pd.read_csv('path')
#here i was expecting the output to be a sequential prints with the name of the columns and their re
当我做for循环来计算每一行矩阵的shapiro测试时,循环工作得很好,但是当做一个函数时,它是返回字符,没有数字,而且不工作。
# this for loop is goog
S_values <- matrix("list", nrow(d_L))
for(i in 1: nrow(d_L)) {
S_values[i] = shapiro.test(d_L[i,])$p.value
}
# the function from loop not work
shapiro_test_rows<- function(input, output ) {
o