问题标签 [reshape]

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.

0 投票
3 回答
3861 浏览

r - 添加数据框中每一列的差异和百分比变化?

我希望能够将差异和百分比变化添加到数据框中的每一列。

我能够尽可能地融合数据并执行计算,但我不知道如何将它重新组合在一起。我也有一个偷偷摸摸的怀疑,这很容易用plyr完成,但是返回的 n-1 行diff()给我带来了问题。

使用包含的数据集:

(我不知道为什么 Delt 使用它自己的列名,但我已经放弃了)

现在,我可以cast(longley.m, Year ~ variable)返回原始数据集,但我希望能够在不同列中为每个变量获得差异和百分比变化,而无需对每个变量手动执行计算,然后将其重新绑定在一起。我很有信心我已经尝试了各种演员阵容,但无济于事......

更新: Joran 解决了 Delt 列命名问题:用 as.vector 强制它!

0 投票
2 回答
213 浏览

r - 对角线下方的绘图值重新排序?

我有一个按行组织的数据文件,其中有一个 x 标签、y 标签,然后是一个值。基本结构如下所示:

Factor_1,Factor_2,Number
apple,apple,1
banana,apple,1
apple,kiwi,6
apple,pear,1
watermelon,apple,8
banana,banana,3
banana,kiwi,2
banana,pear,1
banana,watermelon,9
kiwi,kiwi,9
pear,kiwi,4
kiwi,watermelon,4
pear,pear,3
pear,watermelon,9
watermelon,watermelon,1
...
...

使用这些数据,我正在使用以下代码构建类似于相关矩阵的东西:

上面的代码给了我一个看起来像这样的情节:

阴谋

如何重新排序数据以构建具有以下格式的图,其中所有数据都分组在对角线下方?

0 投票
5 回答
4571 浏览

r - 如何使用 reshape 包重塑此数据框

我有一个相当大的数据框,结构如下:

我需要创建一个这样的数据框:

我很确定我必须用 reshape 包来做,但我无法得到我想要的。

你可以帮帮我吗?

谢谢

0 投票
2 回答
331 浏览

r - 将列的两个元素粘贴(或合并)在一起

我有两个已添加在一起的临床程序计费信息来源(使用rbind)。在每一行中都有一个 CPT 字段和一个 CPT.description 字段,提供简要说明。但是,描述与这两个来源略有不同。我希望能够将它们结合起来。这样,如果使用了不同的单词或缩写,那么我只需进行字符串搜索即可找到我要查找的内容。

因此,让我们组成一个我能够生成的数据表的简化表示。

这就是我想要达到的目标。

我曾尝试使用诸如 unstack 然后 lapply(list,paste) 之类的函数,但这不是粘贴每个列表的元素。我也尝试过重塑,但没有分类变量来区分第一版或第二版描述,甚至在某些情况下是第三版。真正烦人的部分是几个月或几年前我遇到了类似的问题,有人在 stackoverflow 或 r-help 上帮助了我,而我终其一生都找不到它。

所以根本的问题是,想象一下我面前有一个电子表格。我需要对相邻列中具有相同 CPT 代码的两个甚至三个描述单元格进行垂直合并(粘贴)。

我应该使用什么流行语来寻找这个问题的解决方案。非常感谢你的帮助。

0 投票
1 回答
211 浏览

r - R 创建一个矩阵

我必须阅读一些外部文件,提取一些列并用零完成缺失值。所以如果第一个文件在column$Name中有:a、b、c、d,并且column$Area有离散值;第二个文件在某些​​列中有:b、d、e、f 等对于我需要创建这样一个数据框的其他文件:

这是我为了更好地解释我的问题而编写的虚拟代码:

问题在于列名和每个值之间的“同步”。

你有什么建议吗??

如果我的代码结果不清楚,我也可以上传我使用的文件。

最好的

0 投票
2 回答
425 浏览

r - 在 R 中将 Wide 重塑为 Long 并包含序列号

我希望获取当前很宽的数据并将其融合为长格式。诀窍是我想创建一个序列指示器。

这是我的数据:

我在找什么:

我怀疑我可以使用这个:

并在之后迭代数据以清理结果,但我知道 reshape 是一个很棒的包,我想在重新发明轮子之前问一下。

0 投票
2 回答
2449 浏览

r - 将面板数据宽格式重塑为长格式

我正在努力将面板数据集从宽格式转换为长格式。数据集如下所示:

KP1; KP2 到 KP7 描述了 Waves。a,b 到 f 描述一个特定的项目。(例如甲方从左到右的位置)

我想要长格式的数据。像这样:

我尝试使用重塑功能。但随着时间的推移,我在重新塑造它时遇到了问题,同时又在派对上出现了问题。

这是一个小的 data.frame 示例。

这就是我走了多远。

问题仍然存在:我如何才能获得长格式的时变变量?有没有更优雅的方式来重塑这些数据?在上面的代码中,我必须为每个波和变量输入名称 (names(data)[2:4])。有了这个小的 data.frame 就可以了,但是数据集要大得多。

编辑:如何手动完成这种转换:我实际上已经这样做了,这给我留下了一页长的代码文件。
首先,将 KP1_430a 和 KP1_1500a 与 ID、Time=1 和 Party=1 列绑定。其次为所有各方 [bf] 创建相同的对象,分别更改各方索引,并将其逐行附加。对其余的波 [2-7] 执行第 1 步和第 2 步,分别更改派对和时间变量,并将它们逐行附加。

0 投票
2 回答
2257 浏览

r - 使用 R 将列值转换为行名

我需要使用 R 将列值转换为行名。

例如将 format1 转换为 format2

小心,format1 中有缺失值,我猜这就是挑战。

我可能不会以确切的方式表达,但是,您可以参考我上面给出的玩具数据。

我对 reshape 和 reshape2 有一点了解,但是,我无法使用它们转换数据格式。

0 投票
3 回答
7037 浏览

r - R:如何将表格重塑为向量

我正在研究 Kruschke 中的示例Doing Bayesian Data Analysis,需要一些帮助来了解如何将数据转换为他的代码示例所需的格式。在第 22 章中,他有一张这样的桌子

我很乐意通过将表格输入电子表格并像这样R使用read.table("clipboard", header=T, sep="\t")或输入表格来输入表格R

但是在他的代码中,他像这样展示了这个表格,准备好进行分析(完整的代码在这里http://www.indiana.edu/~kruschke/DoingBayesianDataAnalysis/Programs/PoissonExponentialJagsSTZ.R

看起来该表已转换为三个向量。最有效的方法是什么?我想用我自己的数据替换他的数据,所以学习如何将数据转换为分析所需的格式会很棒。

0 投票
1 回答
791 浏览

r - lapply 如何真正起作用 - lapply dcast?

显然,我仍然不完全了解 lapply 的真正工作原理。当然,它对列表元素应用一个函数并返回一个列表。然而,当将它与自定义函数一起使用时,我不太确定如何有效地使用它。例如,我想在使用 dcast 的自定义函数中使用它。

首先让我们获取一个示例数据集:

但我不能让它与 lapply 一起使用,我试过:

显然 X[[2L]] 在评估表达式时不起作用。我进一步尝试

这在一些类似的问题上工作,但在这里导致错误。我应该在这里使用吗?

编辑:我很惊讶约书亚的答案正是我想要的。我之前就在这条路上,但是当我尝试时很早就将其驳回:

显然为时过早,但你能解释一下会发生什么吗?