簡體   English   中英

刪除嵌套在數據框列表中的列標題中的句點和空格

[英]Remove period and spaces within column headings nested in a list of data frames

我有一個數據幀列表:

 mylist<-list(df1=data.frame(var1=c("a","b","c"), var.2= 
 c("a","b","c")), df2= data.frame(var1 = c("a","b","c"), 
 var..2=c("a","b","c")))

我想刪除列表中每個數據框的列標題內的句點和空格。 輸出如下所示:

 mylist<-list(df1=data.frame(var1=c("a","b","c"), var2= 
 c("a","b","c")), df2= data.frame(var1= c("a","b","c"), 
 var2=c("a","b","c")))

我嘗試了以下方法:

 cleandf <- lapply(ldf, function(x) x[(colnames(x) <- gsub(".", "", 
 colnames(x), fixed = TRUE))])

使用Base R setNames

lapply(mylist, function(x) setNames(x, gsub("\\.", "", names(x))))

或與tidyverse

library(tidyverse)

map(mylist, ~rename_all(.x, str_replace_all, "\\.", ""))

輸出:

$df1
  var1 var2
1    a    a
2    b    b
3    c    c

$df2
  var1 var2
1    a    a
2    b    b
3    c    c

我重命名每個數據框中的列,然后返回數據框。 正如解釋在這里 ,雙反斜線有需要,因為期間轉義字符。

lapply(mylist, function(x){names(x) <- gsub("\\.", "", names(x));x})

# $`df1`
#   var1 var2
# 1    a    a
# 2    b    b
# 3    c    c
# 
# $df2
#   var1 var2
# 1    a    a
# 2    b    b
# 3    c    c

暫無
暫無

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

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