R语言 转换数据表(收集操作?),其中在多列中有月份,因此日期仅在一列中

4si2a6ki  于 2023-05-11  发布在  其他
关注(0)|答案(1)|浏览(105)

我正在尝试转换数据表。该表目前存储在Google表格中。我很乐意使用任何平台或语言来进行转换,无论是R,Python,GSheets,Excel,等等。
当前表格的格式为:
| 变量|2019年4月|五月十九日|6月19日|2019年7月|
| --------------|--------------|--------------|--------------|--------------|
| 示例字符串1| 10个|10个|三十|10个|
| 示例字符串2|二十|四十|二十|二十|
| 示例字符串3|五十|八十|九十|六十|
下面是我想如何改造它:
| 日期|关键字|体积|
| --------------|--------------|--------------|
| 2019-04-01 2019-04-01|示例字符串1| 10个|
| 2019-05-01 2019-05-01|示例字符串1| 10个|
| 2019-06-01 2019-06-01|示例字符串1|三十|
| 2019-07-01 2019-07-01|示例字符串1| 10个|
| 2019-04-01 2019-04-01|示例字符串2|二十|
| 2019-05-01 2019-05-01|示例字符串2|四十|
| 2019-06-01 2019-06-01|示例字符串2|二十|
| 2019-07-01 2019-07-01|示例字符串2|二十|
| 2019-04-01 2019-04-01|示例字符串3|五十|
| 2019-05-01 2019-05-01|示例字符串3|八十|
| 2019-06-01 2019-06-01|示例字符串3|九十|
| 2019-07-01 2019-07-01|示例字符串3|六十|
我总共有48个月的48列,6000行数据。我知道这将给我288,000行。
理想情况下,会有某种公式或多步公式来自动转换Google Sheets,因为数据最终会从工作表中提取出来并在数据可视化平台中使用,但是我很乐意导出为csv,在其他地方进行转换,然后导入回GSheets。
任何帮助非常感谢!谢谢!
在R中,我尝试使用Tidyverse pivot_longer操作,但未成功。我只是想不出正确的编码方式。
在GSheets中,我尝试了大量的公式,包括转置,数组,过滤器等。

myzjeezk

myzjeezk1#

对于您提供的特定表,您可以像这样使用pivot_longer:

data %>%
 pivot_longer(!stars_with("Variable"),
              names_to = "Date",
              names_transform = as.date(),
              values_to = "Volume")

相关问题