在 R 中转换数据帧数据

Transform dataframe data in R

我在 R 中有一个数据框,数据如下所示:

我想将 table 转换成这个

在 R 中最快的方法是什么?

这是我的做法,但我承认它很长

method_vec <- c(rep("PCA", 6), rep("Specter", 6),rep("Seurat", 6),rep("Geometric sketching", 6),rep("dropClust", 6),rep("RtsneKmeans", 6),rep("TSCAN", 6))

memory_vec <- c(memory_data$Specter, memory_data$Seurat, memory_data$Geometric.sketching, memory_data$dropClust, memory_data$TSCAN, memory_data$PCA, memory_data$RtsneKmeans)

df <- data.frame("Cells" = rep(memory_data$N, 7), "Method" = method_vec, "Memory" = memory_vec)

谢谢!

我们可以使用pivot_longer

library(tidyr)
pivot_longer(df, cols = -N, names_to = 'Method', values_to = 'Memory')