问题标签 [data-wrangling]

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 投票
0 回答
95 浏览

r - R中长格式的行和列计算

我在复杂数据集中的单元格计算中苦苦挣扎(参见下面的 dput() 示例)。

我需要将标准化平均差 (M1-M2/sqrt(s1^2+s2^2) 的公式应用于多行和多列(研究和测试)。M1 和 M2(平均值)值在 pr_cognm_列和 s1和 s2 (标准偏差)pr_cognsd_列中,它们应根据因子id& tx...3(处理)计算。

因此,例如对于pr_cognm_VV2_CRT_errorid336 有两行,在这种情况下!treat1需要从 中减去行中的值VGT。但有时情况正好相反,例如需要减去id162以内(幸运的是,这个逻辑对于每个特定的比较都是相同的)。然后,标准偏差(即增强和加法)也需要发生同样的事情。最后,M和S需要分开。有许多测试(列)可以在(例如,等)上运行公式,并且通常不适用,因为具体没有这个测试。数据是长格式的,为了使它更复杂,一些dGTtreat1pr_cognm_BVMT_perc_retentionpr_cognm_VV2_CRT_erroridid有三行而不是两行(其中两行需要在特定方向上相互减去,例如task1)。

我最好的主意是

现在我可以定义应该添加哪些变量的规则,如c$sub <- c$treat1-c$VGTc$sub <- c$HFL-c$LM-TT,以类似的方式使用 SD 进行添加,最后将两个变量相除以找到 SMD。但是,这只适用于一项测试。在这种情况下 value.var = c("pr_cognm_VV2_CRT_error")。我想通过例如循环为数据集中的每个测试获取这个矩阵,因为不止一个value.var不起作用:

如果有办法循环通过

然后我可以也许rbind他们并如上所述将减法运算到一个新变量中,并且在对 SD 执行相同操作之后,我最终能够进行除法以获得 SMD。

我无法得到任何解决方案。

复制示例(截断):

0 投票
1 回答
190 浏览

r - purrr:map2 和 mutate 中的管道问题

名为“数据”的列表列由数字变量组成。我想将它们相乘以获得通货紧缩指数。(又名通货膨胀调整)

这很好用

甚至

但我正在尝试使用此操作的结果创建一个名为“adjusted_data”的新列表列:

给我这个错误:

我希望我的问题足够清楚,因为我正在尝试根据通货膨胀调整数据框,其值按年嵌套。我认为在 mutate 中使用 map2 就足够了......我已经尝试了所有方法,但无法弄清楚我做错了什么。我在这里读过关于 map2 中管道的类似问题,但仍然......

请帮忙:)谢谢!

0 投票
1 回答
140 浏览

r - 使用 ggplot 和手动数据框一行 5 列创建条形图

在此处输入图像描述

这是我的数据框。我找不到使用 ggplot 构造条形图的方法,其中列名和 x 作为指示的值。

0 投票
1 回答
102 浏览

r - 以有效的方式处理数据(库存数据)

以下是我开始的代码:

如您所见,前两列是开盘价,第三和第四列是最高价。我可以用这些代码得到我想要的输出,但是当我尝试导入数千个股票数据时会出现错误,所以我不能使用这些。如果可能的话,我想在数据集(开盘价、最高价、最低价、收盘价、调整价和成交量)之间留出一个空间

我能做些什么来做到这一点?

0 投票
3 回答
47 浏览

r - 将列添加到分组数据,将 1 分配给个人,并将 1 或 0 随机分配给对

我有一个数据框...

家庭最多只能包含 2 个成员(因此他们是个人或成对)。

我需要一个新列“随机”,将数字 1 分配给只有一个成员(例如 c、d 和 e)的家庭,并将 0 或 1 随机分配给包含 2 个成员的家庭(示例中的 a 和 b)。

到最后,数据应如下所示(取决于 0/1 的随机分配)...

我希望能够通过 group_by 和 mutate 的组合来做到这一点,因为我主要使用 Tidyverse。

我尝试了以下(但这并没有在家庭中随机分配 0/1)......

0 投票
1 回答
72 浏览

r - 将数据从一组列移动到另一组行的子集

我有一个数据框...

家庭最多只能包含 2 个成员(因此他们是个人或成对)。

对于个人(只有一行的家庭,即 id = 5:10),我想将 50% 的数据从以“a”结尾的列随机移动到以“b”结尾的列。

最后,数据应如下所示(取决于使用了 50% 的行)...

我希望能够通过 group_by 和 mutate 的组合来做到这一点,因为我主要使用 Tidyverse。

更新:我忘了提到以“a”结尾的列中的值如果移至“b”,则应替换为 NA。

0 投票
1 回答
70 浏览

r - 在 R Studio 中运行代码时出现错误

这是我使用的代码

当我运行这些时,我得到:

data.frame(..., check.names = FALSE) 中的错误:参数暗示不同的行数:44、38 此外:警告消息:AKOb 包含缺失值。如果对象在系列中间包含缺失值,则某些功能将不起作用。考虑使用 na.omit()、na.approx()、na.fill() 等来删除或替换它们。

我发现这个错误是由“AKOB”引起的。第一天和第六天的数据是空白的,所以“AKOB”的第一天是2015年11月9日,这与其他股票数据不同。我找到的方法是一个一个运行,比较它们的差异。每当发生这种情况时,这是一种非常低效的方式。

如果股票在我的设置中没有数据(从开始日期到结束日期),我想跳过我该怎么做?

0 投票
2 回答
123 浏览

r - 为观察的子集创建一个随机二元变量,将 1 分配给特定比例的行

我有一个数据框...

家庭最多只能包含 2 个成员(因此他们是个人或成对的)。

对于个人(只有一行的家庭,即 id = 5:10),我想创建一个名为“随机”的列,将 50% 的条目随机分配为 1,其余为 0。所有其他行(属于有 2 个成员的家庭)也应该等于 0。

到最后,数据应如下所示(取决于 50% 的行分配了 1)...

我主要使用 Tidyverse,并希望将其包含在管道中。

我目前正在尝试类似...

0 投票
3 回答
211 浏览

r - R根据列名中的日期值重新排列数据框中的列

我有一个数据框,其中包含某些医院的月度调查分数。每个月,我们存储医院获得的分数(_Score列)和当月所有医院的相应平均分数(_Average列)。

这是它的外观的简短示例-

我想转换这个数据框,这样 -

1)前两列,HospitalQuestion保持不变

2)仅保留最近三个月_Score的列

3)_Average保留最近一个月的列

4) 理想情况下,列需要从最旧到最近重新排序(即按以下顺序:Month M-2_Score, Month M-1_Score, Month M_Score, Month M_Average

5)计算Variance最后一列,即Score M和Score M-1之差

我想要达到的目标

使用 dplyr,这可以通过重新排序列来手动完成。但是我正在寻找一种方法来构建一种逻辑,该逻辑可以按照上述顺序自动重新排列最近 3 个月的列。通过获取列名中嵌入的日期值并根据它们重新排序。

结果表如下所示 -

任何有关如何使用列名中的日期值更有效地执行此操作的提示都将受到高度赞赏。

0 投票
2 回答
31 浏览

r - 在R中删除具有特定条件的行

我的数据框是 ABC:

我想保留 C3 中具有最高五个值的行,并删除其余的行。所以,最终的输出应该是:

我应该使用 if 函数吗?