R 将多个数据帧中的行名称转换为数据帧中的列

R 将多个数据帧中的行名称转换为数据帧中的列,r,dataframe,rowname,R,Dataframe,Rowname,我有一个.csv文件列表,我已将这些文件读入R并放置在一个名为data的大数据框中,该数据框由6个data.frames组成,它们是文件名中的6个文件。到目前为止,我的代码是: filenames <- list.files( paste(mainDirInput,sep=""), pattern="Out.*csv", full.names=TRUE) data = lapply(filenames, function(f) { wb = read.csv(f, header=TRUE

我有一个
.csv
文件列表,我已将这些文件读入R并放置在一个名为
data
的大数据框中,该数据框由6个data.frames组成,它们是
文件名中的6个文件。到目前为止,我的代码是:

filenames <- list.files( paste(mainDirInput,sep=""), pattern="Out.*csv", full.names=TRUE) 
data = lapply(filenames, function(f) {
wb = read.csv(f, header=TRUE)
})

我还需要能够在其他文件上使用此代码,因此我不能简单地创建一个新列,其值为
2012 01、2012 02、2012 03…

您得到了一个名为“w、x、y、z”的
dataframe
。照办

data$names <- rownames(data) 

谢谢,这适用于我的个人data.frames,所以如果我将其应用于
data[[1]]]$namesOh,如果我在for循环中应用它,这就有效了
for(k in 1:length(data)){data[[k]]$date是否有办法使用
lappy()
,而不仅仅是for循环?@Boogi几乎任何
for
循环都可以被做成
*apply
调用。在这种情况下,您可能需要定义一个匿名函数。有关示例,请参阅我的编辑
data$names <- rownames(data) 
   foo = as.data.frame(matrix(1:15,3,5))
    rownames(foo) <-c('frist','prime','lastly')
    foo
    bar = list(foo,t(foo), rbind(foo,foo))
    bar[[1]] = as.data.frame( foo)
    bar[[2]] =data.frame( t(foo))
    bar[[3]] = data.frame(rbind(foo,foo))
    bar
    bar = lapply(bar,FUN= function(x) { x$date <-rownames(x);return(x)})
    bar