我有一个数据帧列表:
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")))
我想将列标题中的所有情况以及字符串的每个元素都更改为小写。 (这样,当我合并数据帧时,所有变量都正确合并,并且'cat'与“ Cat”不会被读取为不同的条目。)
输出如下:
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(mylist, function(x) tolower(mylist[x])
答案 0 :(得分:1)
以下是Masoud回答的类似方法
lapply(mylist, function(x) {
names(x) <- tolower(names(x))
x[] <- lapply(x, tolower)
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
第一个lapply
遍历您的列表。对于每个由x
表示的数据帧,我们首先更改其列名。然后,第二个lapply
将tolower
应用于数据帧的每一列。