簡體   English   中英

清理環境中(數據框的)對象的名稱

[英]Cleaning names (of data frame) objects in the environment

我有一些數據框是從 Excel 文件的選項卡加載的,它們的名稱中有空格。

Name <- c("Jon", "Bill", "Maria", "Ben", "Tina")
Age <- c(23, 41, 32, 58, 26)

df <- data.frame(Name, Age)

`df A` <- data.frame(Name, Age)

`df B` <- data.frame(Name, Age)

我想清理或修復有空格的 object 名稱,使它們變為:

dfA dfB

沒有特別提到這些數據幀。

我該怎么做?

由於沒有簡單的方法來重命名環境中的對象,您可以 select 將它們放在一個列表中並在那里重命名它們,然后將它們放回環境中:

objs <- mget(ls(pattern = "df "))
rm(list = ls(pattern = "df "))
names(objs) <- gsub(" ", "", names(objs))
list2env(objs, envir = .GlobalEnv)

在將每個工作表分配給數據框之前,您可以使用 openxlsx 更改工作表的名稱:

library(openxlxs)
wb <- loadWorkbook("/home/example.xlsx")
newnames <- gsub(" ","", names(wb))
names(wb) <- newnames

解決問題的一種可能方法:

for(el in ls(pattern="df ")) assign(gsub(" ", "", el), get(el))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM