我有一个一行的数据框,其中包含两个变量的方程的结果(让我们称它们为X和Y;为简单起见,该方程是一个和).我需要将该数据帧转换为一个矩阵,在其中我可以看到这些变量的组合.这是一个可重复使用的例子:

x1_y1 <- 2 #Here x = 1, y = 1
x1_y2 <- 3 #Here x = 1, y = 2
x2_y1 <- 3 #Here x = 2, y = 1
x2_y2 <- 4 #Here x = 2, y = 2

df <- data.frame(x1_y1, x1_y2, x2_y1, x2_y2)

我希望输出是这样的:

enter image description here

有人知道如何做到这一点吗?提前谢谢!

推荐答案

在通过strcapture提取名称组件后try tapply:

tapply(unlist(df), strcapture("(.+)_(.+)", names(df), proto=list(x="",y="")), I)
#    y
#x    y1 y2
#  x1  2  3
#  x2  3  4

R相关问答推荐

使用sensemakr和fixest feols模型(R)

在ggplot Likert条中添加水平线

次级y轴R gggplot2

手动打印线型gplot

为什么当用osmdata映射R时会得到相邻状态?

从BRM预测价值

计算两列中满足特定条件连续行之间的平均值

有没有办法使用ggText,<;Sub>;&;<;sup>;将上标和下标添加到同一元素?

过滤名称以特定字符串开头的文件

当我添加美学时,geom_point未对齐

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

随机森林的带Shap值的蜂群图

在r中整理图例和堆叠图的问题

使用其他DF中的文件名将列表中的每个元素保存到文件中

conditionPanel不考虑以下条件

将仪表板中的值框大小更改为Quarto

我怎么才能把一盘棋变成一盘棋呢?

Package emMeans:如果emmip模型中包含的变量较少,emMeans模型中的其他变量设置为什么?

R data.设置函数&;连接中的列值而不使用for循环的表方法?

根据单个条件变异多个列