gpt4 book ai didi

r - 通过 "multiplying"通过其他列的名称转换列的元素

转载 作者:行者123 更新时间:2023-12-04 05:45:42 25 4
gpt4 key购买 nike

下面是一个例子。如何将具有 names 列的数据帧 df 转换为下面的 df.transformed 形式?

> df <- data.frame("names" = c("y1", "y2"), "x1" = 1:2, "x2" = 4:5)
> df
names x1 x2
1 y1 1 4
2 y2 2 5


> df.transformed <- data.frame("y1x1" = 1, "y1x2" =4, "y2x1" = 2, "y2x2" = 5)
> df.transformed
y1x1 y1x2 y2x1 y2x2
1 1 4 2 5

最佳答案

代码

require(data.table); setDT(df)

dt = melt(df, id.vars = 'names')[, col := paste0(variable, names)]
out = dt$value; names(out) = dt$col

结果

> data.frame(t(out))

x1y1 x1y2 x2y1 x2y2
1 2 4 5

关于r - 通过 "multiplying"通过其他列的名称转换列的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58996293/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com