uli*_*a2_ 7 r dataframe dplyr tidyverse
我想选择列并根据我保存在单独数据框中的列的名称重命名它们。
这是原始数据集:
df <- tribble(
~year, ~country, ~series1, ~series2,
2003, "USA", 8, 5,
2004, "USA", 9, 6,
2005, "USA", 11, 7,
2006, "USA", 10, 8
)
Run Code Online (Sandbox Code Playgroud)
我想选择并重命名两列,并且想像这样指定:
specs <- tribble(
~old_name, ~new_name,
"country", "region",
"series1", "gdp_growth"
)
Run Code Online (Sandbox Code Playgroud)
我想要这个结果:
expected_df <- tribble(
~region, ~gdp_growth,
"USA", 8,
"USA", 9,
"USA", 11,
"USA", 10
)
Run Code Online (Sandbox Code Playgroud)
这不起作用:
df %>%
select(specs$new_name = specs$old_name)
Run Code Online (Sandbox Code Playgroud)
Error: unexpected '=' in: "df %>% select(specs$new_name ="
df %>%
select(specs$old_name) %>%
rename_with(~specs$new_name, specs$old_name)
#> # A tibble: 4 x 2
#> region gdp_growth
#> <chr> <dbl>
#> 1 USA 8
#> 2 USA 9
#> 3 USA 11
#> 4 USA 10
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
355 次 |
| 最近记录: |