为什么R中的data.frame()的子集在与多列相反时表现不同?

时间:2017-08-24 16:53:44

标签: r dataframe subset

对于我目前正在编写的包,我必须对数据帧的行进行子集化,这些行可以包含1个或更多列。经过数小时的调试后,我发现当一个data.frame有一列而不是更多时,R的处理方式不同:

df1 <- data.frame(col1 = c(1, 2, 3), col2 = c(2, 3, 4))
df2 <- data.frame(col1 = c(1, 2, 3))
class(df1[1, ])
#> [1] "data.frame"
class(df2[1, ])
#> [1] "numeric"

这太烦人了,我必须实现if语句来处理这个问题,我不想这样做。有人可以告诉我为什么会这样,以及我如何将其关闭?

0 个答案:

没有答案