【问题标题】:Use dplyr pivot_longer to transpose dataset使用 dplyr pivot_longer 转置数据集
【发布时间】:2022-11-24 04:16:04
【问题描述】:

我有一个数据集,其中列是不同的站点,前两行提供了纬度和经度值。我想转置这些数据,这样每个站点现在都是一行,列中有纬度和经度值。

我正在尝试使用 pivot_longer 执行此操作,但迄今为止还没有成功,因为我从示例中不清楚如何指示哪些字段应该是新的行和列。

df <- data.frame(
  sites = c("lat", "lon"),
  A = c(10, 20),
  B = c(12, 18),
  C = c(14, 17),
  D = c(21, 12),
  E = c(3, 23)) %>% 
  # transpose with sites in 1st column (A-E on different rows) and lat/lon values in seperate columns
  pivot_longer(cols = c(2:6),
               names_to = c("lat", "lon"), 
               values_to = "sites")

Error in `build_longer_spec()`:
! If you supply multiple names in `names_to` you must also supply one of `names_sep` or `names_pattern`.
Run `rlang::last_error()` to see where the error occurred.

【问题讨论】:

    标签: r dplyr


    【解决方案1】:

    我们这里可能需要transpose

    library(data.table)
     data.table::transpose(setDT(df), make.names = "sites")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-14
      • 2022-08-15
      • 2018-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-04
      相关资源
      最近更新 更多