[英]renaming columns in R with `-` symbol
temp <- data.frame(re_ply = rnorm(10), total_ID = rnorm(10), re_ask = rnorm(10))
我想將列更改為: re_ply
到Re-ply
total_ID
到total_id
re_ask
到Re-ask
temp <- temp %>% dplyr::rename(Re-ply = re_ply,
total_id = total_ID,
Re-ask = re_ask)
這不會因為在工作Re-ply
和Re-ask
有-
符號將無法正常工作。 我該如何解決。 我知道在列名中使用-
符號並不理想,但只是想檢查一下這是否可能。 我唯一的目標是如上所述重命名此文件,將其寫為.csv
並在excel中進行其他處理。
這可以使用rename
來完成。 您只需將帶有特殊字符的列名稱放在“`”符號內:
temp <- temp %>% dplyr::rename(`Re-ply` = re_ply,
total_id = total_ID,
`Re-ask` = re_ask)
names(temp)
[1] "Re-ply" "total_id" "Re-ask"
簡而言之,將所有參數名稱用“特殊字符”(如減號)包裝在反引號或引號中,例如, rename("Re-ply" = re_ply)
。 如果希望舊名稱=新名稱,而不是新名稱=舊名稱 ,則可以使用准引號或sjmisc::var_rename()
。
library(rlang)
library(dplyr)
library(sjmisc)
temp <- data.frame(
re_ply = rnorm(10),
total_ID = rnorm(10),
re_ask = rnorm(10)
)
old_name <- "re_ply"
new_name <- "Re-ply"
temp %>% colnames()
#> [1] "re_ply" "total_ID" "re_ask"
temp %>%
dplyr::rename(
"Re-Ply" = re_ply,
total_id = total_ID,
"Re-ask" = re_ask
) %>%
colnames()
#> [1] "Re-Ply" "total_id" "Re-ask"
temp %>%
dplyr::rename(
!! new_name := !! old_name,
total_id = total_ID,
"Re-ask" = re_ask
) %>%
colnames()
#> [1] "Re-ply" "total_id" "Re-ask"
temp %>%
sjmisc::var_rename(
re_ply = "Re-ply",
total_ID = total_id,
re_ask = "Re-ask"
) %>%
colnames()
#> [1] "Re-ply" "total_id" "Re-ask"
temp %>%
sjmisc::var_rename(
!! old_name := !! new_name,
total_ID = "total_id",
re_ask = "Re-ask"
) %>%
colnames()
#> [1] "Re-ply" "total_id" "Re-ask"
由reprex軟件包 (v0.2.1)創建於2019-04-01
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.