r - ivot_wider 导致 "! Can' t 不存在的子集列。“R 中的错​​误

标签 r

我有一些数据正在尝试在 R 中进行转换。但是当我运行代码时,出现“无法对不存在的列进行子集化”错误。我的数据目前看起来像这样,但是,有数百个不同的标题,而不仅仅是下面我的简化数据所示的三个。

ID    Title         Training_Time    Percent_Complete

1     New             1                    100
1     Hazmat          5                    100
1     Management      12                   100

我希望它看起来像这样,如果可能的话还包括完成百分比列,尽管我可以只需要完成培训所需的天数,如下所示。

ID    Training_New     Training_Hazmat          Training_Managerment

1         1                   5                        12                                                      

根据 stackoverflow 对类似问题的回答,我尝试了以下代码的几个不同版本。

LMS_df <- LMS_df %>%
tidyr::pivot_wider(-ID,
  names_from = LMS_df$Title,
  values_from = LMS_df$Training_Time
)

关于消除此错误有什么建议吗?我是否需要为数据集中的每个训练标题创建新列?

最佳答案

这里是来自原始发布者提供的数据的一个可重现的小示例。不需要美元语法中的数据框名称(即 LMS_df$)。如果没有,到目前为止它仍然有效。可以使用 names_prefix = "Training_" 添加名称前缀:

library(dplyr)
library(tidyr)

df <- tribble(
~ID,    ~Title,       ~Training_Time,  ~Percent_Complete,
1,     "New",         1,                100,
1,     "Hazmat",      5,                100,
1,     "Management",  12,               100
)

df %>%
  pivot_wider(-ID,
    names_from = Title,
    values_from = Training_Time,
    names_prefix = "Training_"
  )
#> # A tibble: 1 × 4
#>   Percent_Complete Training_New Training_Hazmat Training_Management
#>              <dbl>        <dbl>           <dbl>               <dbl>
#> 1              100            1               5                  12

创建于 2023-03-09 reprex v2.0.2

最后一点:这是一种特殊情况,因为所有 TitlePercent_Complete 都等于 100。否则,您将获得每个百分比的单独行以及所有不匹配情况的 NA

关于r - ivot_wider 导致 "! Can' t 不存在的子集列。“R 中的错​​误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75688107/

相关文章:

r - 是否可以在 Shiny(传单外)中访问 R Leaflet 层控件?

r - 如何根据元素情况删除一行?

r - 更改 ggplot2 中的轴缩放步长

r - 使用 ggplot2 表示散点图中每个点的小饼图

r - h2oensemble 值错误[[3L]](cond) : argument "training_frame" must be a valid H2O H2OFrame or id

r - 在 R magrittr 管道末尾使用 $ 美元符号返回向量

r - 如何使用 gganimate 对 geom_bar/geom_col 的移动填充部分进行动画处理?

r - 将 `dimnames` 分配给列表中的所有矩阵时出错

r - 如何读取用 R 加密的 .xls 文件?

r - 如何扩展 heatmap.2 中的树状图