问题标签 [reshape2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - R中的段错误使用reshape2包和dcast
dcast
当我尝试使用(来自reshape2
包)重塑特定数据框时,RStudio 崩溃了。我发现崩溃实际上是在 R 本身中发生的,所以我在 R.app 中运行了我的强制转换代码,并得到了为该站点命名的错误类型:Error: segfault from C stack overflow
. 在 Google 和 SO 的帮助下,我了解到这是一个内存访问错误。
好吧,我已经走了这么远,但我不知道从这里去哪里。我无法提供一个真正可重现的示例,因为我的数据框大约有 558,000 行,并且在小型玩具示例上不会出现问题。例如,即使我采用 50,000 行的数据子集,dcast
也可以正常工作。是否存在导致问题的特定数据行?如果是这样,任何人都可以建议寻找哪些功能可能导致我遇到的错误类型?
这是我从中转换的数据框的一个子集(一些变量的假值),然后是我正在使用的转换函数。我还在dput
下面的函数中包含了这个小数据片段,以防万一使用它会有所帮助。真实数据集大约有 700 个值prog
、15 个 值prog1
和 5 个 值fa.type
。
fa.wide = dcast(id + term + yr + nslds + acad.lev ~ prog1 + fa.type , data=fa, value.var="amount", fun.aggregate=sum)
r - ddply - 对象中包含的变量名中的空格
有没有办法将命名变量和包含带空格的变量名的对象都传递给ddply?这是我的意思的一个例子:
r - which.min 在 reshape2 的 dcast() 中?
我想提取与每个建筑月组合中 var1 的最小值相对应的 var2 的值。这是我的(假)数据集:
可重现的代码:
这会为每个建筑月组合提取 var1 的最小值......
但是,我想要的是一个与 d1 完全相同的数据框,它显示 var2 的值,该值对应于拉取的最小值var1
(如上所示d1
)。我的直觉告诉我它应该是 的变体which.min()
,但还没有让它与dcast()
or一起使用ddply()
。任何帮助表示赞赏!
r - R - 将宽数据改造成长数据后文件大小显着增加
我有一个中等大小的数据库(约 400,000 行,27 列),我需要使用相同的比较标准搜索大部分列(其中 25 列)。我认为将数据重塑/融合为“长”格式会更有效,因此我使用了 reshape2 包来生成 ~9,000,000 行/4 列数据集。除了花费很长时间(我只有 2GB 的 RAM)之外,重新调整后的文件大小非常巨大:500MB。
是否有更有效/计算量更少的方法:
- 重塑和存储从宽到长的数据?
- 完全避免重塑并仍然使用相同的搜索条件搜索多个列?
r - 与时间融为一体
我正在尝试使用 chron 类融化数据框
我可以欺骗as.numeric()
如下:
但它可以更简单吗?(我想保留 chron 类)
r - 将宽格式重塑为多列长格式
我想重塑一个具有多个测试的宽格式数据集,这些测试在 3 个时间点进行测量:
进入一个按列分隔测试但将测量时间转换为长格式的数据集,对于每个新列,如下所示:
我没有成功尝试使用重塑和融化。现有帖子地址转换为单列结果。
r - 转置数据框
我有一个关于将数据框重新塑造(如果这是正确的话)到它的转置版本的问题。我想采取类似的东西:
并将其转换为如下数据框:
R 中是否有一些我不知道的首选功能,或者我应该循环这个过程?谢谢!
r - 如何从矩阵列表创建汇总表?
数据:
情况: 我有一个如上所述的矩阵列表。我在列表中有不同大小的矩阵,例如(3x3、2x2 等)。除了命名和排序之外,每个列表和每个矩阵都非常相似。我有 k=2(上面的 k1 和 k2)列表,我试图在汇总表中合并在一起。
目标: 从每个列表中检索数据和名称,然后合并以创建汇总表。
可能的解决方案:
a)由于矩阵的大小不同,因此将每个列表中的每个矩阵从正方形重新整形到列是最有意义的。Melt.list() 是一个不错的选择。b) 更改矩阵中行和列的名称。由于在3280
对象的名称中,它不需要在矩阵行/列的名称中。因此,行和列可以提供可以成功融合的唯一 ID。
问题:
a) Melt(或 melt.list)截断我的变量名。这让我很不高兴(下面的 X1 和 X2 应该是 7-8 位数)。
b)我可以更改矩阵的列名,但我不知道如何为数组中的多个矩阵执行此操作。当我尝试这个时,我得到一个名称列表(没有更多的值!)而不是更新名称。
问题:我怎样才能:a)防止melt截断我的名字或b)更改矩阵列表上的dimnames?
列表、名称、框架、分层:有多少种方法可以修复我的数据?
搜索: reshape2 文档、plyr 文档、[r] 重命名矩阵列; 列重命名, 更改行名和列名, 如何重塑数据框,以及许多其他
提前致谢。
r - 将熔化的数据帧重建回原始数据的更简单方法
我如何重新创建一个data.frame
我融化的reshape2
?
可重现的例子
我试过的dcast
临时解决方案
我错过了什么?这很明显,但我无法弄清楚答案。我什至可能以前在这里为其他人回答过。啊。
r - R重塑到可比长
我有一个矩阵 x
和两个投票者
我想要得到的是以下
这是一个情节,我想要两种资产的每一种组合。不幸的是,我无法更改此表单的任何内容。
我试图用 reshape 包得到这个结果,但我无法解决这个问题。
这里还有一段获取初始矩阵的代码:
谢谢您的帮助!