r - 如何选择 R 矩阵中的唯一列

标签 r matrix

我想选择矩阵中的唯一列 six模拟如下:

> set.seed(3)
> sam = replicate(100, sample(1:3, 4, rep = T))
> (six = sam[,colSums(sam)==6])
     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,]    2    1    1    1    1    1    1    1    2     1
[2,]    2    2    3    1    1    2    2    1    2     2
[3,]    1    1    1    1    2    1    1    3    1     1
[4,]    1    2    1    3    2    2    2    1    1     2

我想最终得到一个矩阵:
     [,1] [,2] [,3] [,4] [,5]  [,6] 
[1,]    2    1    1    1    1    1         
[2,]    2    2    3    1    1    1       
[3,]    1    1    1    1    2    3       
[4,]    1    2    1    3    2    1        

最佳答案

使用 unique功能与 MARGIN=2它将返回一个删除了重复列的矩阵,默认情况下,unique删除重复的行:

unique(six, MARGIN = 2)

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

关于r - 如何选择 R 矩阵中的唯一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41540548/

相关文章:

r - 如何在R中获得与Stata中相同的AIC和BIC值?

r - 文件上传后 Shiny 的 dplyr 过滤器不起作用

r - 使用specaccum绘制R中一个位点的物种积累曲线

r - 如何从矩阵中删除对角元素正方形?

c++ - 矩阵求逆和转置 R vs c++

ruby - 如何在 Ruby 中声明一个二维数组

mysql - Excel 未保存为数字格式(MySQL 到 Excel)

r - 哪个用于稳健线性回归的函数/包可与 glmulti 一起使用(即,行为类似于 glm)?

c++ - 使用 "const cv::Mat &"、 "cv::Mat &"、 "cv::Mat"或 "const cv::Mat"作为函数参数的区别?

r - StringsR - 捕获正确的数字