r - 在R中从列的第一个值到列的最后一个值进行循环
问题描述
如何在 R 中创建一个从列的第一行到该列末尾的循环?类似于从 x[1,2] 到 tail(x[,2], n=1)
解决方案
你可以使用nrow
.
(m <- matrix(1:18, 6, 3))
# [,1] [,2] [,3]
# [1,] 1 7 13
# [2,] 2 8 14
# [3,] 3 9 15
# [4,] 4 10 16
# [5,] 5 11 17
# [6,] 6 12 18
for (i in 1:nrow(m)) {
m[i, 2] <- m[i, 2] + 100
}
m
# [,1] [,2] [,3]
# [1,] 1 107 13
# [2,] 2 108 14
# [3,] 3 109 15
# [4,] 4 110 16
# [5,] 5 111 17
# [6,] 6 112 18
但是,由于 R 是矢量化的,因此您可以取整列并进行矢量运算。
m[, 3] <- m[, 3] + 100
m
# [,1] [,2] [,3]
# [1,] 1 107 113
# [2,] 2 108 114
# [3,] 3 109 115
# [4,] 4 110 116
# [5,] 5 111 117
# [6,] 6 112 118
推荐阅读
- c# - ApplicationRoleManager - 没有任何类型参数
- python - 循环一个范围,然后根据我当前的条件以不同的方式分配值
- android - 使用 Facebook sdk 在 Facebook 上与 ShareDialog 共享视频后如何隐藏或关闭发送进度对话框
- kotlin - Kotlin 中的非空检查有什么区别?
- python - 如何使用基于日期的 Python 将数据导入多个 CSV 文件
- amazon-web-services - s3图片文件按大小排序
- html - Bootstrap - 当宽度改变时,div 中的元素分成 2 行
- python - Python - 按值和按引用函数参数
- php - 强制下载图像作为响应流明 + 干预图像
- ios - 在设置它的框架之前给 UIImageView 插入