gpt4 book ai didi

r - 如何在 R 中编写一个具有多个函数和多个变量的 for(){} 循环?

转载 作者:行者123 更新时间:2023-12-02 03:31:47 25 4
gpt4 key购买 nike

我有一个看起来像这样的数据集......还有更多变量......

但我只对使用 for(){} 命令对其中四个运行一些统计信息感兴趣......数据集=b1

ELEV   SLOPE    ASPECT     presab
2342.569 0.297 109.502 1
2280.851 0.997 106.433 2
2281.271 0.665 93.872 1
2277.854 2.407 215.193 2
2271.858 1.132 32.050 1
2229.149 0.000 270.000 1

使用 for(){} 如何将多个统计函数(平均值、标准差、长度)循环到;

多个变量(海拔、坡度、坡向);通过presab;并将它们导出为工作环境中的三个 R 对象???

这是我所了解的.....任何人都可以帮忙吗?

首先我尝试了这个......并且它有点管用......

>i=1
>for (i in 1:1) {
v1=tapply(b1$ASPECT,b1$presab,mean)
v2=tapply(b1$ELEV,b1$presab,mean)
v3=tapply(b1$SLOPE,b1$presab,mean)
v4=cbind(v1,v2,v3)
print(v4)}

# v1 v2 v3
#1 137.3997 2400.974 4.075000
#2 131.2396 2400.301 3.306509

我也试过这种格式....

>vars=c("b1$ELEV","b1$SLOPE","b1$ASPECT")
>i=1
>for (i in 1:3) {
tapply(b1$ASPECT,b1$presab,mean),
tapply(b1$ELEV,b1$presab,mean),
tapply(b1$SLOPE,b1$presab,mean)}

任何面包屑都会帮助我找到回家的路......

最佳答案

感谢大家的发帖!

我找到了一种使用循环的方法,使用 for(){} 函数来构建一个运行良好的矩阵

>ex17out <- matrix(0,3,6)
for (i in 1:2) {
temp <- subset(b3,presab==i)
ex17out[1,i*3-2] <- mean(temp$ASPECT)
ex17out[1,i*3-1] <- sd(temp$ASPECT)
ex17out[1,i*3] <- length(temp$ASPECT)
ex17out[1,i*3-2] <- mean(temp$ASPECT)
ex17out[1,i*3-1] <- sd(temp$ASPECT)
ex17out[1,i*3] <- length(temp$ASPECT)
ex17out[2,i*3-2] <- mean(temp$ELEV)
ex17out[2,i*3-1] <- sd(temp$ELEV)
ex17out[2,i*3] <- length(temp$ELEV)
ex17out[2,i*3-2] <- mean(temp$ELEV)
ex17out[2,i*3-1] <- sd(temp$ELEV)
ex17out[2,i*3] <- length(temp$ELEV)
ex17out[3,i*3-2] <- mean(temp$SLOPE)
ex17out[3,i*3-1] <- sd(temp$SLOPE)
ex17out[3,i*3] <- length(temp$SLOPE)
ex17out[3,i*3-2] <- mean(temp$SLOPE)
ex17out[3,i*3-1] <- sd(temp$SLOPE)
ex17out[3,i*3] <- length(temp$SLOPE)
}
>ex17out


[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 131.599609 86.628193 46 135.00713 75.039541 182
[2,] 2276.916891 44.433890 46 2431.90777 179.167677 182
[3,] 4.066087 4.654311 46 3.59589 4.826945 182

关于r - 如何在 R 中编写一个具有多个函数和多个变量的 for(){} 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26228111/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com