枢轴更长的包机标题
Pivot Longer charter headings
我有以下列名称的数据集
[1] "OdName" "AreaName" "RegName" "DevName" "1980" "1981"
[7] "1982" "1983" "1984" "1985" "1986" "1987"
[13] "1988" "1989" "1990" "1991" "1992" "1993"
[19] "1994" "1995" "1996" "1997" "1998" "1999"
[25] "2000" "2001" "2002" "2003" "2004" "2005"
[31] "2006" "2007" "2008" "2009" "2010" "2011"
[37] "2012" "2013"
从我需要将所有年份列转换为一个列“年”的角度来看,有一个更长的转换问题。如果列标题用数字就容易了。
pivot_longer(
cols =c(1980:2013),
names_to = "Years",
values_to = "Count")
所以对于如何旋转一系列章程列标题有点迷茫。
我需要相当于 1980:2013
的字符
“相当于 1980:2013”的字符 按字面意思是 as.character(1980:2013)
。没有它失败的原因是 pivot_longer
将尝试索引列号(即第 1980 列)。
dat <- data.frame(OdName='a', AreaName='b', RegName='c', DevName='d', "1980"=1, "1981"=2, "1982"=3, check.names = FALSE)
tidyr::pivot_longer(dat, 1980:1982, names_to = "Years", values_to = "Count")
# Error: Can't subset columns that don't exist.
# x Locations 1980, 1981, and 1982 don't exist.
# i There are only 7 columns.
关键是 Locations(而且稍微不那么“只有 7 列”)。如果它正在寻找 names 1980
等,那么它会出错:
# x Column `1980` doesn't exist.
(但确实如此)
而是使用 as.character
:
tidyr::pivot_longer(dat, as.character(1980:1982), names_to = "Years", values_to = "Count")
# # A tibble: 3 x 6
# OdName AreaName RegName DevName Years Count
# <chr> <chr> <chr> <chr> <chr> <dbl>
# 1 a b c d 1980 1
# 2 a b c d 1981 2
# 3 a b c d 1982 3
我有以下列名称的数据集
[1] "OdName" "AreaName" "RegName" "DevName" "1980" "1981"
[7] "1982" "1983" "1984" "1985" "1986" "1987"
[13] "1988" "1989" "1990" "1991" "1992" "1993"
[19] "1994" "1995" "1996" "1997" "1998" "1999"
[25] "2000" "2001" "2002" "2003" "2004" "2005"
[31] "2006" "2007" "2008" "2009" "2010" "2011"
[37] "2012" "2013"
从我需要将所有年份列转换为一个列“年”的角度来看,有一个更长的转换问题。如果列标题用数字就容易了。
pivot_longer(
cols =c(1980:2013),
names_to = "Years",
values_to = "Count")
所以对于如何旋转一系列章程列标题有点迷茫。 我需要相当于 1980:2013
的字符“相当于 1980:2013”的字符 按字面意思是 as.character(1980:2013)
。没有它失败的原因是 pivot_longer
将尝试索引列号(即第 1980 列)。
dat <- data.frame(OdName='a', AreaName='b', RegName='c', DevName='d', "1980"=1, "1981"=2, "1982"=3, check.names = FALSE)
tidyr::pivot_longer(dat, 1980:1982, names_to = "Years", values_to = "Count")
# Error: Can't subset columns that don't exist.
# x Locations 1980, 1981, and 1982 don't exist.
# i There are only 7 columns.
关键是 Locations(而且稍微不那么“只有 7 列”)。如果它正在寻找 names 1980
等,那么它会出错:
# x Column `1980` doesn't exist.
(但确实如此)
而是使用 as.character
:
tidyr::pivot_longer(dat, as.character(1980:1982), names_to = "Years", values_to = "Count")
# # A tibble: 3 x 6
# OdName AreaName RegName DevName Years Count
# <chr> <chr> <chr> <chr> <chr> <dbl>
# 1 a b c d 1980 1
# 2 a b c d 1981 2
# 3 a b c d 1982 3