我有理由不能从Mac上的R Gui上的数据框中删除列

Mee*_*eed 0 macos r

我使用以下命令:

data = files.tsb [-c(60:113)]
Run Code Online (Sandbox Code Playgroud)

这是一个庞大的数据集,所以如果你想查看我的数据,你可以从这里下载我的工作区:

https://www.dropbox.com/s/ij1ahw23o944aar/prob

问题只发生在我在R Gui上,但是当我尝试在Mac终端上运行时,它运行正常.在R Gui上,删除行而不是列.我会认为问题出在我的Gui上,但是当我使用另一个数据框时没有问题.这是我的R版本,如果有帮助:版本3.0.2 2013-05-17.

谢谢!

Sco*_*hie 5

根据您的评论,您data实际上data.table不是a data.frame,它使用完全不同的语法.

要删除a的列data.table,您需要执行以下操作:

data[, -c(60:113), with=FALSE]
Run Code Online (Sandbox Code Playgroud)

或者你可以简单地将它转换回data.frame第一个:

as.data.frame(data)[-c(60:113)]
Run Code Online (Sandbox Code Playgroud)

  • 也许值得一提的是,如果不再需要列60:113,那么数据[,60:113:= NULL,= = FALSE]可能会更高效. (2认同)
  • @Meed正如@Beasterfield所说,`data.table`是一个`data.frame`.因此,如果你没有加载`data.table`库,`R`会把它当作`data.frame`.在你的终端中,`data.table`库尚未加载,而在你的GUI上它已经加载了. (2认同)