更改全局环境中多个数据框的标头

时间:2017-02-13 15:58:02

标签: r csv for-loop apply

我已经在我的全局环境中加载了一些数据帧(4,所有.csv),我想最终struct SlidingTile { // ... private: static const AllActions& allActions() { static const AllActions instance = computeAllActions(); return instance; } static const AllMDDeltas& mdDeltas() { static const AllMDDeltas instance = computeAllMDDeltas(); return instance; } }; 将它们全部堆叠在一个新的数据帧中。就我而言,我只能rbind具有相同标题的数据框,这就是我尝试将其标题更改为相同名称的原因。

我尝试了以下内容:

rbind

虽然没用。我认为问题是R不是将# group all files with the extension .csv filenames <- Sys.glob("*.csv") # then I tried to rename them with a `for loop` for(i in filenames) { names(filenames[i]) <- "epitope" } 中的元素(即我拥有的四个数据帧)视为独立的data.frames本身(其标题应该被更改),而是简单地作为字符串。当我输入:

filename

我得到了

filenames[1]

当我期待R输出我的数据帧时(名为abc_65prots_all_15mers.csv)。

2 个答案:

答案 0 :(得分:0)

在这个未经测试的伪代码中,你可以做这样的事情。 lapply将照顾你的官僚作风。

mf <- Sys.glob(".csv")

xy <- lapply(mf, read.table, header = TRUE) # read files into a list

# rename each dataset
xy <- lapply(xy, FUN = function(x) {
  names(x) <- c("vector of names")
})

do.call(rbind, xy) # merge all datasets

答案 1 :(得分:0)

使用delete()get解决了问题

assign