gpt4 book ai didi

r - 用R中的数组坐标填充矩阵

转载 作者:行者123 更新时间:2023-12-04 16:10:17 26 4
gpt4 key购买 nike

我正在尝试填充一个矩阵,以便每个元素都是一个由其坐标(行、列)组成的字符串。

[ '1,1' '1,2' '1,3' ]
[ '2,1' '2,2' '2,3' ]
[ '3,1' '3,2' '3,3' ]

我已经能够用方阵做到这一点,但如果我改变行数或列数,它就不稳健。

这是我目前的情况

#Works but only with a square matrix

x <- 20 #Number of rows
y <- 20 #Number of columns
samp <- 200 #Number of frames to sample

grid = matrix(data = NA,nrow = x,ncol = y)

for (iter_col in 1:y){
for (iter_row in 1:x){
grid[iter_col,iter_row] = paste(toString(iter_row),toString(iter_col),sep = ',')
}
}

我正在使用它来随机抽样一个网格,我将其叠加在图像上以用于细胞计数方法。所以我还没有任何数据。并非所有这些网格都具有相同数量的行和列。

你能帮我让它更灵活吗?我在 R 方面的背景有点欠缺,所以解决方案就在我面前......

谢谢!

编辑

我在 grid[iter_col,iter_row] 中的变量顺序错误。一旦它们被切换,它就适用于不同维度的矩阵。

感谢 G5W 发现了这个错误。

最佳答案

这是使用 sapply

的一种方法
rows = 4
columns = 5
sapply(1:columns, function(i) sapply(1:rows, function(j) paste(j,i,sep = ", ")))
# [,1] [,2] [,3] [,4] [,5]
#[1,] "1, 1" "1, 2" "1, 3" "1, 4" "1, 5"
#[2,] "2, 1" "2, 2" "2, 3" "2, 4" "2, 5"
#[3,] "3, 1" "3, 2" "3, 3" "3, 4" "3, 5"
#[4,] "4, 1" "4, 2" "4, 3" "4, 4" "4, 5"

关于r - 用R中的数组坐标填充矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43379189/

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