我有一个像这样的数据框:
df = data.frame(a=1:3, b=2:4, c=3:5)

我正在使用类似于以下内容的方法从该数据框中选择列:
df[, c(T, F, T)]

只要至少要返回两列,此方法就可以正常工作;但是,例如,如果我这样做:
df[, c(T, F, F)]

...我突然只得到一个向量,而不是data.frame。

通常,这很好(甚至不需要),但是由于以后需要将结果作为data.frame,因此这完全弄乱了我的脚本。

有什么办法可以防止R将这种自动转换为单列选择的向量吗?

最佳答案

这很简单。将, drop = FALSE附加到您的子设置。

例如。

df[, c(T, F, F), drop = FALSE]

也适用于矩阵。

关于r - 防止单列自动转换为向量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10737452/

10-12 14:24
查看更多