我將 excel 檔案中的資訊匯入 RStudio。當我嘗試從集合的兩個列中創建條形圖時,它不起作用。
ggplot(data = Encuesta_BIDVOX) geom_bar(mapping = aes(x=Cargo, fill=1_PC_Estandarizado))
控制臺的輸出顯示:
錯誤:“ggplot(data = Encuesta_BIDVOX) geom_bar(mapping = aes(x=Cargo,fill=1_”)中的意外輸入
我意識到問題是我用來填充欄的變數名稱(列的名稱)以數字開頭(我嘗試使用其他沒有以數字開頭的列,它作業正常)。
所以問題是:
有沒有辦法命令 R 忽略列名稱以數字開頭,我可以在 ggplot 函式中使用它而不會以錯誤結尾?
這將有很大的幫助,因為大多數列(超過 48 列)都以數字開頭......
請保持答案盡可能簡單,因為您已經注意到我是 R 的新手。謝謝!
uj5u.com熱心網友回復:
我建議盡可能在上游修復這個問題,可能在源檔案中,或者在匯入時,或者如果沒有,那么在你去 ggplot 之前。janitor::clean_names()提供了一個很好的界面來執行此操作并控制新的語法列名稱的外觀。
uhoh <- data.frame(`1_` = 1,
`2_` = 2,
`10_` = 3,
check.names = FALSE)
uhoh
# 1_ 2_ 10_
#1 1 2 3
uhoh %>%
janitor::clean_names() %>%
ggplot()
geom_bar(aes(x1, fill = x10))

uj5u.com熱心網友回復:
僅使用``可能會有所幫助(請注意,它不是')
iris3 <- iris
names(iris3) <- c("Sepal.Length", "Sepal.Width" , "Petal.Length" ,"Petal.Width" , '1_')
iris3 %>%
ggplot(aes(Sepal.Length, Sepal.Width, color = `1_`))
geom_point()

uj5u.com熱心網友回復:
您可以使用make.names, 例如data.frame()用于確保名稱有效。
# make a dataframe with invalid names
x <- data.frame('1a' = 1, '2b' = 1, '_c' = 1, check.names = FALSE)
# make any invalid names valid
names(x) <- make.names(names(x), unique = TRUE)
但是,在您創建它們的位置修復名稱幾乎總是更好(例如,大多數讀取資料的函式都有引數以確保名稱被檢查和有效)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/488545.html
標籤:r
上一篇:根據之前列的on操作結果創建新列
