可能的重复:
从 R 中的 data.frame 中删除整列 https://stackoverflow.com/questions/6286313/remove-an-entire-column-from-a-data-frame-in-r
有没有比以下更好的方法从数据框中按名称删除列?
Orange[colnames(Orange) != "Age"]
我已尝试以下操作,但出现错误:
> Orange[-"Age"]
Error in -"age" : invalid argument to unary operator
> Orange[,-"Age"]
Error in -"age" : invalid argument to unary operator
> Orange[[,-"Age"]]
Error in -"age" : invalid argument to unary operator
您可以将列设置为 NULL
> dat <- data.frame(a = 1, b = 1, c = 1)
> dat
a b c
1 1 1 1
> dat$a <- NULL
> dat
b c
1 1 1
> dat["b"] <- NULL
> dat
c
1 1
有人会过来指出data.frame
将制作大量数据副本来完成这个简单的任务。当数据变大(数百万行)时,这将花费大量时间,并且由于内存限制可能无法工作。如果这会成为问题,请使用data.table
和:=
操作员:
library(data.table)
> dt <- data.table(a = 1, b = 1, c = 1)
> dt[,a:=NULL]
b c
[1,] 1 1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)