首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R中的标准差循环

问R中的标准差循环
EN

Stack Overflow用户
提问于 2015-04-23 13:01:10
回答 1查看 2.3K关注 0票数 0

我想创建一个循环,取"y“中位置1到3的标准差,然后取位置4到6的标准差,依此类推。

这是我到目前为止想出的代码,但是由于新的向量"i“增加了相同的值,所以我被卡住了。

这是一个假设的数据集。

代码语言:javascript
复制
x <-rep(1:10, each =3)

y <- rnorm(30, mean=4,sd=1)

data <- cbind(x,y)

sd.v = NULL
for (i in c(1,4,7,10)){
  sd.v[i] <- sd(y[c(i,i+1,i+2)])
}

我更感兴趣的是创建一个循环,而不是使用apply、sapply、tapply或其他东西。

EN

回答 1

Stack Overflow用户

发布于 2015-04-23 13:10:39

如果你真的想要一个循环,这里有一种方法:

代码语言:javascript
复制
set.seed(42)
y <- rnorm(30, mean=4,sd=1)

sd.y <- as.numeric()
for(i in 1:10){
  sd.y[i] <- sd(y[(1+(i-1)*3):(3+(i-1)*3)])
}
sd.y
# [1] 0.9681038 0.3783425 1.1031686 1.1799477 0.6867556 1.6987277 
# [7] 1.8859794 1.4993717 1.2956209 1.1116502
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29814072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档