簡體   English   中英

刪除 r 矩陣中的每 2 和 5 列

[英]Removing every 2nd and 5th column in a matrix in r

我正在處理一個問題集,要求我從一個非常大的矩陣 mA 中刪除每 2 列和每 5 列

mA = matrix(rnorm(10000), nrow = 100, ncol = 100)

我可以很容易地弄清楚如何做其中一個,但我很難弄清楚如何同時做這兩個。 有人有什么想法嗎?

使用矢量回收你可以做 -

result <- mA[, c(TRUE, FALSE, TRUE, TRUE, FALSE)]

mA[,!(seq(ncol(mA)) %% 2 == 0 | seq(ncol(mA)) %% 5 == 0)]

我們也可以做

result <- mA[, -unique(unlist(lapply(c(2, 5), function(i) seq(1, ncol(mA), by = i))))]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM