0

在 R 中,似乎如果我要创建一个具有 1 列的数据框的子集,它就会变成一个向量。

input <- structure(list(X2 = 0, X1 = 1L), .Names = c("X2", "X1"), 
                   row.names = c(NA, -1L), class = "data.frame")
input
#   X2 X1
# 1  0  1
input <- input[,input[1,]>=1]
input
# [1] 1
as.data.frame(input)
#   input
# 1     1

当我使用 时as.data.frame(input),我丢失了向量的列名。因为我不知道“X1”的名字,所以我不能做类似的事情names(as.data.frame(input)) <- "X1"。有什么办法可以强制 R 保持数据帧格式?

4

1 回答 1

4

在中使用drop参数[

> input[,input[1,]>=1, drop=F]
  X1
1  1
于 2013-11-10T11:47:34.127 回答