我需要帮助编辑文件夹中的多个csv。我需要计算每个文件中的行数,并为文件添加一个新列。新列应该将行数作为列中的第一行,然后为每个后续行下降1。
Current:
ID V1 V2 V3
1 0.4625 0.917
2 0.9324 0.248
3 0.6691 0.781
4 0.1935 0.330
Proposed:
ID V1 V2 V3 newcol
1 0.4 25 0.9 5
2 0.9 24 0.2 4
3 0.6 91 0.7 3
4 0.1 5 0.3 2
5 0.2 44 0.5 1
有人有什么想法吗?我一直在玩终端并尝试这样做。我对r也有一些小经验。如果有帮助,我也会使用mac。
谢谢!
答案 0 :(得分:2)
我们可以做到
df1$newcol <- rev(seq_len(nrow(df1)))
或者
df1$newcol <- nrow(df1):1
答案 1 :(得分:1)
知道了!通过akrun的指导,我能够成功地为每个csv添加一列,新列中的行按降序排列。然后我就能把它写回原始文件了!
filenames <- list.files(path=".../pathoffolder", pattern=".*csv")
for(i in filenames) {
filepath <- file.path(".../pathoffolder", paste(i))
assign(i,filepath)
df <- read.csv(filepath)
df$newcol <- rev(seq_len(nrow(df)))
write.csv(df, filepath, quote = FALSE, row.names = FALSE)
}