我有以下向量:

v<-c(1,2,3,4,1,2,3,4,2) 

我想把它"转换"成一个3x3矩阵:

matrix <- matrix(data=v,ncol=3)

然后我想把它翻过来(而不是转置)

flip_matrix<-matrix[,3:1,drop=FALSE]

使用tidyVerse管道来链接所有这些非常容易,但为了减少依赖,我想使用base R来解决这个问题.我可以创建几个对象,然后忘记管道,但我需要知道如何使用base管道来完成这项工作.到目前为止,我还没有运气:

v<-c(1,2,3,4,1,2,3,4,2)

final_matrix <- matrix(data=v,ncol=3) |> .[,3:1.drop=FALSE]()

它告诉我物体".找不到.我已经try 了其他迭代,但没有成功. 谢谢你的帮忙!

推荐答案

调用函数[的另一种方式.

v <- c(1,2,3,4,1,2,3,4,2)

matrix(data=v,ncol=3) |> `[`(x=_,,3:1, drop = FALSE)
#     [,1] [,2] [,3]
#[1,]    3    4    1
#[2,]    4    1    2
#[3,]    2    2    3

或不带占位符:

#Does not work as '[' is currently not supported in RHS call of a pipe
#matrix(data=v,ncol=3) |> `[`(,3:1, drop = FALSE)

#But the following will currently work
matrix(data=v,ncol=3) |> base::`[`(,3:1, drop = FALSE)
matrix(data=v,ncol=3) |> (`[`)(,3:1, drop = FALSE)

或不带烟斗:

matrix(data=v,ncol=3)[, 3:1, drop = FALSE]
#matrix(v, ncol=3)[, 3:1] #Short alternative

R相关问答推荐

按崩溃类别分类的指数

geom_raster不适用于x比例中超过2,15的值

使用lapply的重新定位功能

R形式的一维数字线/箱形图样式图表

bslib::card_header中的shine::downloadButton,图标而不是文本

将包含卷的底部25%的组拆分为2行

使用Facet_WRAP时更改框图中线的 colored颜色

根据列A中的差异变异列,其中行由列B中的相对值标识

在多页PDF中以特定布局排列的绘图列表不起作用

R中的类别比较

在R中,如何从一系列具有索引名的变量快速创建数据帧?

将摘要图添加到facet_WRAP gglot的末尾

如何从嵌套数据中自动创建命名对象?在R中

如何使用包metaviz更改标签的小数位数?

使用ggplot2绘制具有边缘分布的坡度图

使用R、拼图和可能的网格包绘制两个地块的公共垂直线

基于R中的引用将向量值替换为数据框列的值

使用dqur在不同变量上创建具有多个条件的变量

我有2011-2022年的年度数据.如何计算最低年份和最高年份之间的差额?

将Geojson保存为R中的shapefile