我一直在努力修复包含市场规模信息的数据库。由于它是内部数据,我无法共享原始文件。原始文件只是示例,但要大得多。
现在我甚至不知道该使用什么工具,甚至不知道我可以使用什么功能。抱歉,也许 SE 不是问这个问题的合适地方,因为它更多的是关于编码,但任何一般指导都会有很大帮助!非常感谢!
数据描述: 我有一张工作表,其中包含多个国家/地区每月某些产品的市场规模。示例(第 2 行):2018 年 1 月(第 B 列),阿尔巴尼亚的苹果市场规模为 100 公斤。数据包含 2018 年至 2019 年的信息,以及多个国家/地区和产品。
目标: 拥有所有时期、产品和日期的市场份额的完整文件。
问题:有时会跳过日期。 在该示例中,2018 年 2 月 (02) 至 5 月 (04) 期间洪都拉斯的市场规模缺失。原始文件中不存在这些条目,但这并不意味着市场规模不存在。相反,这意味着该特定产品、特定国家/地区在该时期的市场规模为 0。
我正在尝试的解决方案: 为这些缺失的时期创建等于 0 的市场规模条目。
我已尝试过: 我首先尝试在 Tableau 中修复此问题,方法是尝试在缺失字段中输入 0,但后来我意识到 Tableau 并不适合这项工作,而且我还意识到问题不在于条目为 NA,而是没有条目。Tableau 示例
所以我转到 Excel,首先尝试识别缺失信息的位置。基本缺失标识现在我知道缺失数据的位置,但我不知道如何根据 E 列是否等于“缺失”来创建条目。
最后我意识到我应该尝试使用 R,因为有超过 400,000 个条目,而且我在 Excel 上进行的每次计算都要花很长时间,除非软件先崩溃。但是,我甚至不确定如何开始用 R 解决这个问题。
在此先感谢大家的帮助!如果有人能先告诉我要使用什么工具,以及一些可以为序列中的缺失值创建条目的函数,那么我就可以开始使用了。
如果您认为我的方法完全错误,那么也请告诉我。
数据示例:
国家/地区日期产品市场规模
洪都拉斯 201801 苹果 100
洪都拉斯 201802 苹果 500
洪都拉斯 201806 苹果 900
洪都拉斯 201808 苹果 1000
洪都拉斯 201809 苹果 300
泰国 201905 铅笔 100
泰国 201906 铅笔 0
期望结果示例:
国家/地区日期产品市场规模
洪都拉斯 201801 苹果 100
洪都拉斯 201802
苹果 500 洪都拉斯 201803 苹果 0
洪都拉斯 201804 苹果 0
洪都拉斯 201805 苹果 0
洪都拉斯 201806 苹果 900
洪都拉斯 201808 苹果 1000
洪都拉斯 201809 苹果 300
洪都拉斯 201810 苹果 0
洪都拉斯 201811 苹果 0
洪都拉斯 201812 苹果 0
洪都拉斯 201901 苹果 0
洪都拉斯 201902 苹果 0
洪都拉斯 201903 苹果 0
洪都拉斯 201904 苹果 0
洪都拉斯201905 苹果 0
洪都拉斯 201906 苹果 0
洪都拉斯 201907 苹果 0
洪都拉斯 201908 苹果 0
洪都拉斯 201909 苹果 0
洪都拉斯 201910 苹果 0
泰国 201801 铅笔 0
泰国 201802 铅笔 0
泰国 201803 铅笔 0 泰国 201804
铅笔 0 泰国 201805 铅笔 0 泰国 201806 铅笔 0 泰国 201807 铅笔 0 泰国 201808 铅笔 0 泰国 201809 铅笔 0 泰国 201810 铅笔 0 泰国 201811 铅笔 0 泰国 201812 铅笔 0 泰国 201901 铅笔 0 泰国 201902铅笔 0 泰国 201903 铅笔 0 泰国 201904 铅笔 0 泰国 201905 铅笔 100 泰国 201906 铅笔 0 泰国 201907 铅笔 0 泰国 201908 铅笔 0 泰国 201909 铅笔 0 泰国 201910 铅笔 0
答案1
您并不是想总结相关项目,而只是想填补空白,可以这么说吗?
Excel 可以解决这个问题,除了您报告的运行缓慢。我无法解决这个问题,R
因为我不使用它,但我认为可以轻松完成与 Excel 非常类似的修复。
Excel 修复:在一个空列中,例如缺少条目的列右侧的列(将其称为 E 列,因为数据占据了前四列),将如下公式放入顶部单元格,然后用它向下填充(使用填充、复制和粘贴,无论你最喜欢的方式)到列的末尾:
=IF( D1=0, 0, D1 )
您会看到,Excel 已将空白单元格视为0
空白单元格,因此空白单元格将导致公式0
在 E 列的该单元格中输入一个。如果不是空白,则结果将是它已有的内容。
然后复制该列单元格,并在 D 列(源数据列)中粘贴|特殊|值。现在,该列中的每个单元格中都有实际值。
然后删除备用列(“辅助列”),一切就完成了。
R
肯定应该具有一些类似的功能,因此您只需调整公式的类型以适应R's
命名法。