【发布时间】:2016-04-09 15:26:51
【问题描述】:
我正在尝试删除数据框中的某些列。 我想知道为什么它适用于单列但不适用于多列 例如 这行得通
album2[,5]<- NULL
这不起作用
album2[,c(5:7)]<- NULL
Error in `[<-.data.frame`(`*tmp*`, , 5:7, value = NULL) :
replacement has 0 items, need 600
这也行不通
for (i in 5: (length(album2)-1)){
album2[,i]<- NULL
}
Error in `[<-.data.frame`(`*tmp*`, , i, value = NULL) :
new columns would leave holes after existing columns
【问题讨论】:
-
试试
album2[,5:7]<- list(NULL) -
如果您能提供一个最小的可重现示例来解决您的问题,那就太好了。我们可以从中工作并使用它来向您展示如何回答您的问题。这样,将来其他人也可以适合您的问题以及随附的答案。您可以查看this SO post,了解如何在 R 中制作一个出色的可重现示例。
-
@EricFail 尤其是据我所知,第一个示例“例如,这行得通”实际上不起作用。
-
@doctorG 使用 "list(NULL)" 使其适用于多列,使用 NULL 和单列工作。我将在未来负责重现性。