无法弄清楚如何从虚拟变量标题中删除列名

Can't figure out how to remove column name from dummy variable heading

我写了这段代码并使用了

library('fastDummies'): 
New_Data <- dummy_cols(New_Curve_Data, select_columns = 'CountyName')

我只想显示实际的县名,即 Banks,而不是 CountyName_Banks 等。 我创建了大约 100 个虚拟变量。所以我不能手动更改名称。

可以使用 sub 删除列名称中的前缀子字符串,方法是将 'CountyName_' 匹配为模式,并将其替换为 names 上的空白 ("") 'New_Data'` 并将其分配回去

names(New_Data) <- sub("CountyName_", "", names(New_Data))

这也可以在 base R 中用 table

完成
as.data.frame.matrix(table(seq_len(nrow(New_Curve_Data)), 
                      New_Curve_Data$CountyName))

您可以使用 pivot_wider。由于您没有分享来自 ?fastDummies::dummy_cols 帮助页面的示例数据。

crime <- data.frame(city = c("SF", "SF", "NYC"),
                    year = c(1990, 2000, 1990),
                    crime = 1:3)

tidyr::pivot_wider(crime, names_from = city, values_from = city, 
                   values_fn = length, values_fill = 0)

#   year crime    SF   NYC
#  <dbl> <int> <int> <int>
#1  1990     1     1     0
#2  2000     2     1     0
#3  1990     3     0     1