2017-03-11 7 views
0

ここに初心者!各ファイルに対してNROWSのコマンドを実行し、私は私のディレクトリのそれぞれのファイルにアクセスしたいディレクトリからのデータフレームファイルの操作

library(dplyr) 
filenames <- list.files(path = "~/Desktop/ChIP-Seq", pattern ="*.bed", full.names = T) 
mylst <- lapply(filenames, read.table, header = F, sep = "\t") 
for (i in filenames) 
    x <- nrow(mylst[[i]]) 

##dont know what to do here 
y <- paste("MACS_peaks", seq(from= 1, to= , by= 1), sep = "") 
gd1 <- mutate(gendata, MACS_peaks = y) 

、および各ファイルの数をNROWS使用はdplyrmutateを使用し、その多くの数を追加するために:私は、次の未完成のコードを書かれていますそれぞれのファイルに対して、MACS_peaksです。

どうすればいいですか? OPのコードから

+0

とあなたが望むものは明確ではありません。行数の列を作成しますか? 〜mutate(。、MACS_peaks = n())) 'mylst1 < - lapply(mylst、function(x)x%>% mutate(MACS_peaks = n())) – akrun

+0

私はノーを知りたい。 dplyrを使用して、特定のファイルごとにその特定の長さの列を追加します。 – rishi

+0

これは、上記のコードがコメント内で行うことです。行番号を指定したい場合は、 'lapply(mylst、function(x)x%>%mutate(MACS_peaks = row_number())' – akrun

答えて

0

我々は行番号の列列を作成する必要があるように、それはそう(row_number()dplyrから便利な機能です)

lapply(mylst, function(x) x %>% 
          mutate(MACS_peaks = row_number())) 

それともtidyverse

library(tidyverse) 
mylst %>% 
    map(~mutate(., MACS_peaks = row_number())) 
関連する問題