如何将非规范化数据转换为规范化数据,反之亦然或在R中转置
我有以下格式的数据:如何将非规范化数据转换为规范化数据,反之亦然或在R中转置,r,R,我有以下格式的数据: Japan_n US_n Canada_n Japan_mean US_mean Canada_mean Japan_cv US_cv Canada_cv 76 55 89 145.49 163.78 122.18 23.12 25.47 13.85 我希望在R中以以下格式输出: n mean cv Japan 76 145.99 23.12 US 55 16
Japan_n US_n Canada_n Japan_mean US_mean Canada_mean Japan_cv US_cv Canada_cv
76 55 89 145.49 163.78 122.18 23.12 25.47 13.85
我希望在R中以以下格式输出:
n mean cv
Japan 76 145.99 23.12
US 55 163.78 25.47
Canada 89 122.18 13.85
我该怎么做呢?试试这个
library(dplyr)
library(tidyr)
data <- structure(list(Japan_n = 76L,
US_n = 55L,
Canada_n = 89L,
Japan_mean = 145.49,
US_mean = 163.78,
Canada_mean = 122.18,
Japan_cv = 23.12,
US_cv = 25.47,
Canada_cv = 13.85),
.Names = c("Japan_n", "US_n",
"Canada_n", "Japan_mean",
"US_mean", "Canada_mean",
"Japan_cv", "US_cv", "Canada_cv"),
class = "data.frame",
row.names = c(NA, -1L))
my_solution <-
gather(data, col_01, col_02) %>%
separate(., col_01, into = c("geo", "stat")) %>%
spread(., stat, col_02)
my_solution
geo cv mean n
1 Canada 13.85 122.18 89
2 Japan 23.12 145.49 76
3 US 25.47 163.78 55
库(dplyr)
图书馆(tidyr)
数据%
差价(,统计,第02列)
我的解决方案
地理变异平均数
1加拿大13.85 122.18 89
2日本23.12 145.49 76
3美国25.47 163.78 55
Stackoverflow的r
标签上有许多“重塑”和“转置”问题,可以回答此问题。这看起来也像是一个课程问题或家庭作业——因此,在寻求帮助之前,你通常会先表现出一些独立的努力。dplyr
有一个很好的功能以
结束,你可以使用它来将列进行子集划分,并将它们“融化”成一个长格式。