r - 我对 R 中的“for”函数有疑问
问题描述
首先,我想明确一点,英语不是我的母语,我说得不好,所以我很抱歉有任何错误。
我将在下面介绍我遇到问题的那一行。
vetor = iris$Sepal.Length
for (i in vetor) {
mean = mean(vetor)
SD = sd(vetor)
zscore = ((i-mean)/SD)
print(paste("The z score number", 1:150, "is", zscore))
}
我想要发生的是它回来了
“z 分数 1 是……”
“z 分数 2 是……”
等等。事实上,他实际上把它还给了我,但是当他完成时,他又重新开始并重复了至少 13 次。我不知道为什么会这样。
解决方案
如果我理解正确,您想计算iris$Sepal.Length
. 您不需要循环来执行此操作:R 默认情况下是矢量化的,这意味着它同时适用于列中的每个值。
所以,你可以在不使用循环的情况下做我认为你想做的事:
# Calculate the mean
mean = mean(vetor)
# Calculate the SD
SD = sd(vetor)
# Calculate the z-scores of every value in the vector, all at the same time
zscore = ((vetor-mean)/SD)
# Format the output as required.
print(paste("The z score number", 1:150, "is", zscore))
[1] "The z score number 1 is -0.897673879196766"
[2] "The z score number 2 is -1.13920048346495"
[3] "The z score number 3 is -1.38072708773314"
[4] "The z score number 4 is -1.50149038986724"
[5] "The z score number 5 is -1.01843718133086"
[6] "The z score number 6 is -0.535383972794483"
[7] "The z score number 7 is -1.50149038986724"
[8] "The z score number 8 is -1.01843718133086"
[9] "The z score number 9 is -1.74301699413542"
[10] "The z score number 10 is -1.13920048346495"
<output truncated>
推荐阅读
- pytorch - 权重和偏差观察日志导致 CUDA 内存不足
- c++ - 如何在 SDL2 c++ 中获取持久输入
- assembly - 为什么这条 Intel jmpq 指令会跳转到一个奇怪的地址?
- java - 为什么Android Studio安装后会出现内部错误
- bash - How does the bash for-loop know that a variable is a file
- javascript - React - map over actual HTML children wrapped in HoC
- javascript - ionic app gets reloaded after navigating between pages with threeJS scenes and PIXI applications
- html - CSS wrapper how to set default height?
- json - 尝试使用 jq 更新具有可变路径的值
- python - How to create table with dynamically rows and columns with number of fields in template Django