【问题标题】:How can I easily and safely reshape my data in R?如何在 R 中轻松安全地重塑我的数据?
【发布时间】:2014-04-01 10:58:58
【问题描述】:

我经常使用“宽格式”的数据,其中同一变量有几列(请参阅here),我希望我的数据采用长格式(请参阅here)。你有什么简单安全的解决方案吗?

【问题讨论】:

  • “安全”是什么意思?

标签: r reshape


【解决方案1】:

或者用melt函数来反透视:

library(reshape2)
data <- read.table(text='"id","name1","name2","x1","x2","Mr a","Mr c","0.575710014459387","-0.991747242336918","Mr b","Mr d","-0.126033858727122","0.854792650572792"', sep=',', header=TRUE)
reshape(data, direction = 'long', idvar = 'id', varying = list(c('x1', 'x2'), c('name1', 'name2')), times=c('a', 'b'))
melt(data,c("id","name1","name2"),variable.name="x",value.name="value")

【讨论】:

    【解决方案2】:

    由于您的 2 个示例没有相同的数字,不知道这是否是您想要的:

    data <- read.table(text='"id","name1","name2","x1","x2"
    1,"Mr a","Mr c","0.575710014459387","-0.991747242336918"
    2,"Mr b","Mr d","-0.126033858727122","0.854792650572792"', sep=',', header=TRUE)
    
    reshape(data, direction = 'long', idvar = 'id', varying = list(c('x1', 'x2'), c('name1', 'name2')), times=c('a', 'b'))
    

    【讨论】:

      猜你喜欢
      • 2017-12-21
      • 2018-11-24
      • 1970-01-01
      • 2012-04-27
      • 2013-01-21
      • 1970-01-01
      • 2023-03-16
      • 2019-05-11
      • 2019-06-21
      相关资源
      最近更新 更多