【问题标题】:reshape data in r when reshape cannot guess the names of the time varying variables当 reshape 无法猜测时变变量的名称时, reshape r 中的数据
【发布时间】:2012-08-16 05:46:13
【问题描述】:

我有一个包含 1500 多列的宽格式数据集。由于许多变量是重复的,我想重新塑造成长形式。但是,r 抛出错误:

Error in guess(varying) : 
  Failed to guess time-varying variables from their names

试图通过一个玩具示例来理解这一点,我发现

u<-data.frame(id=1:100,f.1=rnorm(100),u.1=rnorm(100),i.1=rnorm(100),f.2=rnorm(100),u.2=rnorm(100),i.2=rnorm(100),
                  f.3=rnorm(100),u.3=rnorm(100),i.3=rnorm(100))

reshape(u,varying=2:10,direction="long")

工作正常。但是,我的数据看起来更像:

u<-data.frame(id=1:100,f1=rnorm(100),u1=rnorm(100),i1=rnorm(100),f2=rnorm(100),u2=rnorm(100),i2=rnorm(100),
              f3=rnorm(100),u3=rnorm(100),i3=rnorm(100))

reshape(u,varying=2:10,direction="long")

这就是我迷路的地方。除了更改变量名(这很累)之外,我有什么聪明的想法吗?

【问题讨论】:

标签: r reshape


【解决方案1】:

添加v.names 参数:

reshape(u,varying=2:10,direction="long", v.names=c("f", "u", "i"))
    id time          f          u             i
1.1  1    1  1.7821678  0.5144692  0.0006889928
2.1  2    1 -0.5036801  1.8242030  0.9695553817
3.1  3    1  1.1857706  0.6469423  0.6775602175
4.1  4    1 -0.5759202 -1.0349980  0.7183451146
5.1  5    1 -2.3559773  0.8598020  0.5506339475
6.1  6    1 -0.8047651 -1.4768172 -0.3667918383
...

【讨论】:

    【解决方案2】:

    我看到了 Andrie 的解决方案,但也许我在理解 rehape 语法方面所做的努力也很有用。 'varying' 参数应该是一个命名向量(或列表),其列索引按名称分组:

    reshape(u, varying=c( f=c(2,5,8), u=c(3,6,9), i=c(4,7,10) ), direction="long")
    

    这也行得通(因为名称暗示了一个分组):

     reshape(u,varying=names(u)[2:10], direction="long")
    

    我回去尝试了你的代码,发现它也有效,所以我想知道你是否想要我们猜测的不同的东西?

    【讨论】:

    • 您能否也运行最后一个示例-我再次尝试了它,但它无法在我的机器上运行...
    • 那是因为这些列名中没有分隔符。如果您将 sep="" 添加到您的重塑参数中,您可以获得成功。
    • @Andrie:我以前也是这么想的。最近我一直觉得我可以真正使用它。了解您可以使用 sep 参数以及对列进行打包(如上)是一个很大的信心提升。
    【解决方案3】:

    只需添加选项sep = ""reshape 知道您的列名没有被. 分隔。

    【讨论】:

      猜你喜欢
      • 2018-05-27
      • 1970-01-01
      • 1970-01-01
      • 2017-06-16
      • 2012-05-10
      • 2013-12-07
      • 1970-01-01
      • 2012-09-04
      • 1970-01-01
      相关资源
      最近更新 更多