【问题标题】:How do arrays in Excel translate into R?Excel 中的数组如何转换为 R?
【发布时间】:2019-01-23 15:54:02
【问题描述】:

我正在尝试从使用 Excel 过渡到 R,因为我听说它更有效,尤其是在处理大量数据时;所以,我对这一切都很陌生。我目前正在研究如何在工作表 2 中设置两个标准以链接回工作表 1,并让它检索平均值、第 25 个百分位、第 50 个百分位和第 75 个百分位。

例如,在表 2 的 B 列中,我有一个职位“首席执行官”。在表 2 的 C 列中,我有一个资产削减

因此,要计算工作表 2 中的单元格 I5,公式将转到工作表 1 并查看 E 列​​和 AB 列,以确保它与工作表 1、B 列和 C 列匹配。然后它应该采用所有这些值匹配表 1 的 G 列并计算平均值。

我目前的公式适用于 excel,但需要 6 小时才能保存更改。

我目前已将 excel 文件转换为 csv 文件。

这是它在 Excel 表格中的样子(薪水是 $ 值,但出于保密原因是“x”): sheet 1 sheet 2

【问题讨论】:

  • 当你说“检索平均值”时——检索的是什么?你能提供一些样本数据吗?总的来说,这听起来不像一个数组 - 听起来第 1 表是数据框,第 1 表是计算,您只想根据第 1 表中的数据在 R 中重做这些计算。
  • 如果您可以将问题缩小到更具体的内容并提供一些来自实际文件的摘录和示例,这通常会有所帮助。考虑编辑问题以包含此信息。

标签: r excel csv


【解决方案1】:

如 cmets 中所述,根据您提供的信息,很难猜出您想要实现的目标和要求。但是,从您链接的屏幕截图中,我假设您有一个电子表格,其中包含每个员工的基本工资和削减的登记册,并且您想要计算一些按削减和职位分组的基本工资的统计数据。

数据电子表格可以很容易地导入到 R 中。我建议使用 RStudio 中的“导入数据集”按钮,它会为您生成导入 Excel 电子表格的代码。

有几种方法可以在 R 中进行所需的计算。可能更简单的一种是将aggregate 函数与类似的东西一起使用:

aggregate(base_salary, by=list(job_title, cut), mean)

这将计算电子表格中的整个 I 列(平均值)。对于 J 到 L 列(四分位数):

aggregate(base_salary, by=list(job_title, cut), quantile, probs=c(.25,.5,.75))

【讨论】:

  • 我正在尝试同时计算第 2 页第 i 列的所有值。 (这相当于在 excel 中拉下一个公式,而不是为每个单元格输入公式,如果这有帮助吗?)这可以用上面的代码实现吗,还是我需要为我想计算的每个值重新输入它?
  • 您只需键入一次即可计算整列。事实上,对于 J 到 L 列,它甚至更容易,因为只需一个顺序,您就可以计算所有四分位数。许多 R 函数适用于整个向量,而对单个值的操作通常只是长度为 1 的向量的特殊情况。我建议学习一些基本的 R。
猜你喜欢
  • 2012-07-04
  • 2022-07-18
  • 2021-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-25
  • 1970-01-01
相关资源
最近更新 更多