问题标签 [spread]

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 投票
2 回答
562 浏览

r - R 展开具有特定模式的列

得到一个带有这样列的 data.frame:

我想将该列扩展到新列(但不是针对我所有的唯一值,因为那样我会得到非常非常多的列),但仅针对包含特定模式的值:“AAA”。

在传播值之后,我想让它们成为二进制,所以理想情况下我的新 data.frame 看起来像这样:

我尝试了dplyr'sspread() 函数。但是我遇到了一个问题,即我将数据分布在很多很多列中(而不仅仅是包含“AAA”模式的列)。

0 投票
1 回答
335 浏览

r - 使用带有重复标识符的扩展会给出带有 NA 的稀疏矩阵

一位用户在 github 中提出了一个问题,https://github.com/tidyverse/tidyr/issues/41,我看到 Hadley 将此识别为错误。但是,没有给出解决方案。当我的数据框上有重复的标识符时,我仍然遇到这个问题

现在,当我使用 dplyr 的展开时,我仍然有一个带有 NA 的稀疏矩阵,因为我碰巧有重复的标识符`在此处输入代码

所以我添加了一个 ID 行

但是对角线数据框不是我想要的。我想要一个spread输出的第一行在第1行读取1,2,3,2。然后列c中的值将落在第2行的正下方。也就是说,我没有用具有 NA 的对角矩阵。我错过了什么吗?我谦虚地问。

0 投票
2 回答
60 浏览

r - 将数据从 1 列分成 r 中的 2

我有一个足球队数据集及其 2009-2017 年的输赢结果。目前,赢和输在同一列中,一个接一个,我想为损失创建一个新列。

数据样本如下所示:

我希望最终输出显示:

等等。还有其他几个变量,但每个赛季/团队对的唯一变化是“价值”。

我已经尝试了 spread() 和 mutate() 的几次迭代,但它们通常比我想要的要多得多的列(即 2009.Wins、2009.Losses、2010.Wins、2010.Losses)。

谢谢你的帮助。我希望这篇文章能顺利,这是我第一次发帖。

干杯,杰里米

0 投票
1 回答
232 浏览

r - 将一列传播到 R 中的多列(传播?,重塑?)

我想通过将下表中的 Station.ID 列分配(Spread?,Reshape?)到月份列,以便获得诸如 Jan_323、Feb_323、...、Jan_452、Feb_452、.. 等列。 .

0 投票
2 回答
38 浏览

r - 尝试一次使数据宽 4 列

我试图让我的数据比现在更广泛。我尝试使用传播,但我想一次传播 4 个变量。一个样本数据集是:

我想让它变宽,以便这两年的所有分数都在 1 行上,如下所示:

“Year2”列并非完全必要,但我想通过某种方式来解读 2017 年和 2018 年之间的情况。

任何帮助或指导将不胜感激!谢谢!

0 投票
2 回答
1031 浏览

r - R:使用向量作为 tidyr 扩展函数中的关键参数

我正在尝试使用 tidyr 扩展函数,但我想传入我自己的特征名称向量以用于关键参数。

例如,默认用法是

我想传入我自己的特征字符串向量作为键,就像这样。

0 投票
0 回答
1566 浏览

r - 如何从R中的向量计算任意两个分数之间的平均绝对差

我有一个任意顺序的 n 分数向量,并且想要计算任意两个分数之间的平均绝对差。请注意,虽然我可能没有使用“平均绝对差”的正确术语,但我并不是要求平均/中值绝对偏差(即疯狂),这类似于标准偏差。我想要分数本身的偏差,而不是集中趋势的度量。

首先,我要计算任何两个分数之间的每个绝对差。2个分数的向量,只有一个绝对差;3个分数,有3个绝对差异;4分,有6个绝对差;一般公式是n*(n-1)/2 绝对差。例如,假设我有一个向量:

我可以手动计算每个绝对差异,方法是获取每个分数并从其他分数中减去它,然后获取结果差异的绝对值。例如:

其次,我想取绝对差异的平均值。例如:

有谁知道可以做到这一点的R函数?显然,当向量内的分数n较少时,可以手动创建for循环;但我想将该函数应用于具有 1000 分数的向量。

0 投票
3 回答
1264 浏览

r - 转置 dplyr::tbl 对象

我正在使用 src_postgres 进行连接,并使用 dplyr::tbl 函数从 redshift 数据库中获取数据。我使用 dplyr 本身对其应用了一些过滤器和顶级功能。现在我的数据如下所示:

我试过传播。由于类类型,它会引发以下错误:

UseMethod(“spread_”)中的错误:没有适用于“spread_”的方法应用于类“c('tbl_dbi','tbl_sql','tbl_lazy','tbl')”的对象

由于这是一个非常大的表,我不想使用数据框,因为它需要更长的时间。我能够使用如下:

是否可以在一个语句中写出以上所有内容?

任何帮助以更快的方式转换它都非常感谢。

编辑 添加 tbl 对象的 dput:

0 投票
1 回答
270 浏览

r - reshape 或 dcast long to wide 没有 value.var 2 列

我有一个 2 列的 data.frame df,前六行显示在这里,但它有更多的块序列,每个跨越 3 行:

我想把它转换成这种格式:

我考虑过 dcast 和 reshape ,但是当它说ERROR: column time not foundreshape 时我不知道该怎么做,而且我不确定 dcast 是在这里使用的正确功能。这是我尝试过的:

我敢肯定这很简单,但是我缺少一些东西。

0 投票
1 回答
487 浏览

r - tidyr 扩展键值对的子集

给定示例数据,我想要spread这些对的一个子集key-value。在这种情况下,它只是一对。但是,在其他情况下,要成为的子集spread不止一对。

所有键值对的经典传播:

期望的输出,仅传播n=c