使用 apply 选择 R 细胞

标签 r matrix cell apply

我正在尝试从矩阵(数据)中选择特定单元格并将值更改为 1

我得到了这 2 个向量

data <- matrix(0,300,300)
X <- c(1,5,87,987,67)
Y <- c(5,7,12,456,99)

x1 和 y1(即 1,5)表示我要在矩阵中选择的位置

我不想选择(x1,y2)

我已经做了我想做的事:

for (i in 1:length(x)){
  data[x[i],y[i]]<-1
}


我很确定我可以用 apply 做同样的事情,这样可以更快地工作

感谢您的帮助

最佳答案

cbind XY 并赋值

data[cbind(X, Y)]  <- 1

#     [,1] [,2] [,3] [,4] [,5]
#[1,]    0    1    0    0    0
#[2,]    0    0    0    0    0
#[3,]    0    0    1    0    0
#[4,]    0    0    0    1    0
#[5,]    0    0    0    0    0

数据

使用较小的数据集

X <- c(1,3,4)
Y <- c(2,3,4)
data <- matrix(0, ncol = 5, nrow = 5)

data
#     [,1] [,2] [,3] [,4] [,5]
#[1,]    0    0    0    0    0
#[2,]    0    0    0    0    0
#[3,]    0    0    0    0    0
#[4,]    0    0    0    0    0
#[5,]    0    0    0    0    0

关于使用 apply 选择 R 细胞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55473940/

相关文章:

r - 使用 R 从数据框中过滤空行

r - 将对象传递给函数后,对象大小会增加

r - 如何在不添加 "Row.names"列的情况下按行名合并数据帧?

r - r 中保留行名称的卡方测试

java - 实现矩阵的最佳方式(地铁站/地铁线路)

javascript - 将父单元格 ID 存储在列表中

r - 将类和模式从字符更改为数字

python - python中的复杂对称矩阵

css - 在表格上使用上下文样式将虚线边框应用于特定单元格

C 中的 Cell SPU 错误