简体   繁体   English

R lapply重置rownames的数据帧列表

[英]R lapply on list of dataframes resetting rownames

You can reset the rownames in a data frame by running 您可以通过运行重置数据框中的rownames

>rownames(df) <- NULL

I have a list of dataframes and want to reset all the rownames on every dataframe in the list, I tried 我有一个数据帧列表,并希望重置列表中每个数据帧的所有rownames,我试过

>newlist <- llply(mylist, function(df) { rownames(df) <- NULL })

Bu tit doesn't work, returns a list of NULLS and the original remains unchanged. Bu tit不起作用,返回NULLS列表,原件保持不变。

This is a job for the base function lapply ; 这是基础功能的lapply ; you don't need to load plyr. 你不需要加载plyr。 You also need to make sure that your anonymous function returns something. 您还需要确保您的匿名函数返回一些内容。

df1 <- data.frame(a=1:10)
rownames(df1) <- letters[1:10]

df2 <- data.frame(b=1:10)
rownames(df2) <- LETTERS[1:10]

mylist <- list(df1,df2)

mylist <- lapply(mylist,function(DF) {rownames(DF) <- NULL; DF})

使用rownames<-

newlist <- lapply(mylist, "rownames<-", NULL)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM