[英]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.