在 R 中透视特定列名
Pivoting in R for a specific column name
我在 R Studio 中有一个简单的数据框,我想旋转它。我一直在使用 'gather()' 和 'spread()' 函数进行更复杂的转置,但我不知道如何做一个更简单的主元。
我有以下数据:
structure(list(MeanExports = c(1581743294.4, 13114218975.85,
376303283.26, 367309850000, 60019049993.7, 632530400000, 4276027773.125,
3.63436e+11, 1530830933.675, 317033050000), Development = c("Less",
"Less", "Less", "More", "More", "More", "Less", "More", "Less",
"More")), row.names = c(331L, 2635L, 4363L, 13435L, 16171L, 16747L,
17323L, 17755L, 18331L, 29563L), class = "data.frame")
我希望能够创建一个新的数据框,其中 'More Developed' 列和 'Less Developed' 列有五行(每个类别都有五个值)。网上有很多关于更复杂程序的建议,但我相信会有一个我忽略的简单方法。任何帮助都会很棒。
stack()
和 unstack()
是(经常被忽视的)基本 R 函数。
dfw <- unstack(df)
names(dfw) <- paste(names(dfw), 'Developed')
# Less Developed More Developed
# 1 1581743294 367309850000
# 2 13114218976 60019049994
# 3 376303283 632530400000
# 4 4276027773 363436000000
# 5 1530830934 317033050000
我在 R Studio 中有一个简单的数据框,我想旋转它。我一直在使用 'gather()' 和 'spread()' 函数进行更复杂的转置,但我不知道如何做一个更简单的主元。
我有以下数据:
structure(list(MeanExports = c(1581743294.4, 13114218975.85,
376303283.26, 367309850000, 60019049993.7, 632530400000, 4276027773.125,
3.63436e+11, 1530830933.675, 317033050000), Development = c("Less",
"Less", "Less", "More", "More", "More", "Less", "More", "Less",
"More")), row.names = c(331L, 2635L, 4363L, 13435L, 16171L, 16747L,
17323L, 17755L, 18331L, 29563L), class = "data.frame")
我希望能够创建一个新的数据框,其中 'More Developed' 列和 'Less Developed' 列有五行(每个类别都有五个值)。网上有很多关于更复杂程序的建议,但我相信会有一个我忽略的简单方法。任何帮助都会很棒。
stack()
和 unstack()
是(经常被忽视的)基本 R 函数。
dfw <- unstack(df)
names(dfw) <- paste(names(dfw), 'Developed')
# Less Developed More Developed
# 1 1581743294 367309850000
# 2 13114218976 60019049994
# 3 376303283 632530400000
# 4 4276027773 363436000000
# 5 1530830934 317033050000