Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.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中使用不带聚合函数的重塑2从长到宽重塑DF_R_Reshape2 - Fatal编程技术网

在R中使用不带聚合函数的重塑2从长到宽重塑DF

在R中使用不带聚合函数的重塑2从长到宽重塑DF,r,reshape2,R,Reshape2,我处理的数据中的一个常见任务是将客户机数据从长到宽进行重塑。我有一个过程来实现这一点,下面概述了重塑,它基本上创建了新的(但未修改的)列,并附加了一个数字索引。在我的情况下,我不想对数据执行任何修改。我的问题是,因为我经常在其他操作中使用整形2,如何使用dcast实现这一点?举例来说,示例数据似乎不需要通过id进行分解,但我不确定如何将其扩展。是否有人能够在Reforme2中提供代码,以生成与下面示例中的“宽”相当的帧 谢谢 例子 date\u up我们可以使用data.table中的dcast

我处理的数据中的一个常见任务是将客户机数据从长到宽进行重塑。我有一个过程来实现这一点,下面概述了重塑,它基本上创建了新的(但未修改的)列,并附加了一个数字索引。在我的情况下,我不想对数据执行任何修改。我的问题是,因为我经常在其他操作中使用整形2,如何使用dcast实现这一点?举例来说,示例数据似乎不需要通过id进行分解,但我不确定如何将其扩展。是否有人能够在Reforme2中提供代码,以生成与下面示例中的“宽”相当的帧

谢谢

例子
date\u up我们可以使用
data.table
中的
dcast
,它可以包含多个
value.var
列。将“data.frame”转换为“data.table”(
setDT(df)
),使用
dcast
,并指定公式和
value.var

library(data.table)
dcast(setDT(df), id~gid, value.var=names(df)[2:6])

注意:
data.table
方法比
reforme2

更快,此时需要运行两次(初始错误是大多数R-newb会发现与“关闭”有关的令人费解的错误)因为对象
df
是R中的F-密度函数。第二次,有一个
df
-数据对象,因此不会发生错误。(我只制作了一个30行矩阵来处理。)你是对的,谢谢你指出这一点。我更新了代码来修复错误。谢谢你。我越来越想知道我是否应该将批处理转移到data.table,因为这个包和它的各种帮助程序似乎有很多解决方案。现在看来dcast只会对一个值var执行我想要的操作,这意味着我需要先把它融化,看起来。再次感谢这种方法,我会尝试一下。
library(data.table)
dcast(setDT(df), id~gid, value.var=names(df)[2:6])