1
我想,当我跑的前两行的类命令被表示它作为data.frame删除重复转换数据帧对因子自动
laa <-subset(la,select =c(PermID))
class(laa)
laa1<-laa[!duplicated(laa$userPermID), ]
class(laa1)
但它会自动转换成因子运行的重复命令之后。 有什么特别的原因。由于亚姆无法看到它在数据帧
我想,当我跑的前两行的类命令被表示它作为data.frame删除重复转换数据帧对因子自动
laa <-subset(la,select =c(PermID))
class(laa)
laa1<-laa[!duplicated(laa$userPermID), ]
class(laa1)
但它会自动转换成因子运行的重复命令之后。 有什么特别的原因。由于亚姆无法看到它在数据帧
由于我们只有在第一步选择了“PermID”,默认选项,同时用[
子集划分排有一列data.frame将drop=TRUE
导致vector
而不是data.frame
。假设“PermID”为factor
列,则vector
的class
将为factor
。为避免这种情况,请使用drop=FALSE
。
laa1 <- laa[!duplicated(laa$userPermID), , drop=FALSE]
class(laa1)
将是data.frame
。
如果我们看一下文档?"["
,默认用途是
X [I,J,...,滴= TRUE]
降:对于矩阵和阵列。如果为TRUE,则结果被强制为 尽可能低的维数(请参阅示例)。这仅适用于 提取元素,不适用于替换。请参阅下面的详细信息 。
最有可能的是,当它仍然在data.frame中时,它已经是一个“因素”。更多信息请使用'str'而不是'class' –