r - R - 将值输入到列的下一行
问题描述
我有一个看起来像这样的数据框:
V1 V2
10 5
11 15
12 NA
13 NA
V1 是在外部文件中找到的已生成向量。V2 是要更新和更改的列。此数据帧存储在一个外部文件中,该文件在调用 R 脚本时被读入。R 脚本还有一个公式,可以生成一个新值。生成新值的代码:
value <- 10 + 4
这是一个简单的添加,将产生新的价值。该值需要传递到 V2 列替换下一行(您看到的第一个 NA),然后写入文件。假设 R 生成的值为 14,它应该如下所示:
V1 V2
10 5
11 15
12 14
13 NA
我在设置 RI 中的循环或函数时遇到问题,需要调用才能完成此任务。任何帮助表示赞赏。谢谢你。
解决方案
使用匹配功能
df = read.table(text='V1 V2
10 5
11 15
12 NA
13 NA',header = T)
for (i in 4:5) {
value = 10 + i
df$V2[match(NA,df$V2)] = value
print(df$V2)
}
#[1] 5 15 14 NA
#[1] 5 15 14 15
推荐阅读
- function - 有没有办法在 fortran 中隐式定义函数 midprogram'
- javascript - Laravel 与 TinyMCE npm 混合运行生产 - 编译文件“获取”未定义
- lua - 如何使用 lua 脚本中的脚本重新启动 lua 程序
- mule - 如何使用 Mule 4 将传入的 JSON 有效负载写入 pdf 文件
- xcode - Xcode Multiple Commands 错误,无法解决这个问题
- php - 关联表的键
- python - 基于边界范围的 bin 数据
- snowflake-cloud-data-platform - 清除或截断 information_schema.copy_history 表:雪花
- c# - SQL CLR 在 SQL Server 中随机失败
- python - 如何在mssql中将SQL几何类型转换为纬度(-90,90)和经度(-180,180)?