How to drop columns in a nested data frame in R?
As i know there are different ways to drop
a column
of a data frame
in R
like
Drop data frame columns by name
How to drop columns by name in a data frame
Remove an entire column from a data.frame in R
Now My question: I have a data frame say df
having 400 plus
files in the form of nested
data frame
.
df
[[1]]
SignalIntensity SNR
1 109 6.1823089314 0.8453576915
2 110 10.1727771385 4.3837077591
3 111 7.2922746927 1.0725751161
4 112 8.8984671629 2.3192184908
5 113 9.5910338232 3.7133402249
6 114 7.9850187685 1.5008899345
7 116 7.7893230124 1.3636655582
.
.
.
[[2]]
SignalIntensity SNR
1 109 6.1823089314 0.8453576915
2 110 10.1727771385 4.3837077591
3 111 7.2922746927 1.0725751161
4 112 8.8984671629 2.3192184908
5 113 9.5910338232 3.7133402249
6 114 7.9850187685 1.5008899345
7 116 7.7893230124 1.3636655582
.
.
.
[[3]]
ID SignalIntensity SNR
1 109 6.1823089314 0.8453576915
2 110 10.1727771385 4.3837077591
3 111 7.2922746927 1.0725751161
4 112 8.8984671629 2.3192184908
5 113 9.5910338232 3.7133402249
6 114 7.9850187685 1.5008899345
7 116 7.7893230124 1.3636655582
.
.
.
and so on.....
I want to remove column 1
from all the 400 plus
files. The column 1
header may be present or absent.
I know to use df[[1]][,-1] to remove column 1
of first file. In order to do for all the files i have to repeat it 400
or so times to make the work done. There may be 1
or 2
line of code in R
to do this. How?? help appreciated.
Final data frame is expected to be like
df
[[1]]
SignalIntensity SNR
1 6.1823089314 0.8453576915
2 10.1727771385 4.3837077591
3 7.2922746927 1.0725751161
4 8.8984671629 2.3192184908
5 9.5910338232 3.7133402249
6 7.9850187685 1.5008899345
7 7.7893230124 1.3636655582
.
.
.
[[2]]
SignalIntensity SNR
1 6.1823089314 0.8453576915
2 10.1727771385 4.3837077591
3 7.2922746927 1.0725751161
4 8.8984671629 2.3192184908
5 9.5910338232 3.7133402249
6 7.9850187685 1.5008899345
7 7.7893230124 1.3636655582
.
.
.
[[3]]
SignalIntensity SNR
1 6.1823089314 0.8453576915
2 10.1727771385 4.3837077591
3 7.2922746927 1.0725751161
4 8.8984671629 2.3192184908
5 9.5910338232 3.7133402249
6 7.9850187685 1.5008899345
7 7.7893230124 1.3636655582
.
.
.
and so on.....
One option is with a loop:
for(i in seq_along(df)) {
df[[i]] <- df[[i]][-1]
}
Or without the loop, using lapply:
df2 <- lapply(df, subset, select=-1)
链接地址: http://www.djcxy.com/p/70912.html
上一篇: Pandas DataFrame.assign参数
下一篇: 如何删除R中的嵌套数据框中的列?