Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将非规范化数据转换为规范化数据,反之亦然或在R中转置_R - Fatal编程技术网

如何将非规范化数据转换为规范化数据,反之亦然或在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
有一个很好的功能
结束,你可以使用它来将列进行子集划分,并将它们“融化”成一个长格式。