gpt4 book ai didi

r - 如何将具有熔化或聚集功能的 2 列中的 6 个特定列堆叠?

转载 作者:行者123 更新时间:2023-12-05 02:07:35 25 4
gpt4 key购买 nike

这是我的问题的一个例子:

我想从

A   B   C   D   E   F   G   H
x1 x2 x3 x4 x5 x6 x7 x8
y1 y2 y3 y4 y5 y6 y7 y8
z1 z2 z3 z4 z5 z6 z7 z8

A   B   CDE FGH  
x1 x2 x3 x6
x1 x2 x4 x7
x1 x2 x5 x8
y1 y2 y3 y7
y1 y2 y4 y6
y1 y2 y5 y8

我只能用这段代码将 3 列堆叠为一列

NewData= melt(setDT(Data),measure = list(c(6,7,8)), value.name = "FGH ")

最佳答案

我们可以使用模式

library(data.table)
melt(setDT(Data), measure = patterns("^[CDE]", "^[FGH]"),
value.name = c("CDE", "FGH"))[, variable := NULL][]

或者使用 unite 的另一个选项

library(dplyr)
library(tidyr)
Data %>%
unite(CDE, C, D, E) %>%
unite(FGH, F, G, H) %>%
separate_rows(CDE, FGH)

数据

Data <- structure(list(A = c("x1", "y1", "z1"), B = c("x2", "y2", "z2"
), C = c("x3", "y3", "z3"), D = c("x4", "y4", "z4"), E = c("x5",
"y5", "z5"), F = c("x6", "y6", "z6"), G = c("x7", "y7", "z7"),
H = c("x8", "y8", "z8")), class = "data.frame", row.names = c(NA,
-3L))

关于r - 如何将具有熔化或聚集功能的 2 列中的 6 个特定列堆叠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61603210/

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