r - 如何使用循环将值更改为零?
问题描述
下面的循环用于在我执行生存分析之前准备数据。Vector_B
应根据 中的最大值(= 天)将其变为“0” Vector_A
。在此示例中,我希望最大值为“10”。我已经知道如何为此使用 ifelse 函数,但我真的很想知道如何实现循环(在本例中为 for 循环)。
你能帮我写下下面的脚本吗?我想Vector_B
更改为 ''0, 0, 1, 0, 0, 0''),因为每Vector_A
高于 10,Vector_B
应该是 '0'。
代码:
Vector_A <- c(7, 17, 5, 12, 7, 13)
Vector_B <- c(0, 1, 1, 0, 0, 1)
for (i in Vector_A) if (i > 10) {(Vector_B <- 0)}
结果:
矢量_A:7 17 5 12 7 13
矢量_B:0
解决方案
这是一种非常奇怪的做事方式,因为已经存在 R 函数,但是看到你明确要求循环试试这个。
for (i in 1:length(Vector_A)){
Vector_B[i] <- ifelse(Vector_A[i] > 10, 0 ,Vector_B[i])
}
推荐阅读
- google-cloud-platform - Cloud Datastore GQL 中的 GEOPOINT 支持
- windows-installer - Docker Windows 容器中的 VSTS CLI
- python - 如何在循环python中编写具有多个字典的.json文件
- javascript - Javascript 中的 parseInt() 是如何工作的?
- android-studio - 如何更改 openIdea gradle 任务的默认 IDE
- apache-spark - Spark 2.3 下降温度表
- java - 私有成员函数访问
- c# - 变量在声明后似乎正在改变类型
- php - SQL 语法错误;检查与您的 MariaDB 服务器相对应的手册
- java - 尽管阻塞,CompletableFuture 仍未得到解决