【问题标题】:Data frame no longer a data frame once element is removed [duplicate]删除元素后,数据框不再是数据框[重复]
【发布时间】:2015-05-07 06:45:36
【问题描述】:

我有一个简单的数据框

myframe<-data.frame(c(NA, NA,NA, 1,2,3,4,5,NA,7,8,9))

我像这样删除第一个元素:

myframe<-myframe[-1,]

当我这样做时:

is.data.frame(myframe)

我得到的结果是:

[1] FALSE

我可以通过以下方式修复它:

myframe<-data.frame(myframe[-1,])

但我认为删除元素后数据框不会停止成为数据框

这里发生了什么?我整天都在编码,我的大脑被炸了,我无法弄清楚这一点。请帮忙。

我的目标是仅删除数据框中出现的前 n 个 NA。如果它们出现在中间的某个地方,那没关系。

谢谢!

【问题讨论】:

    标签: r dataframe


    【解决方案1】:

    因为你只有一列,R 会自动将结果转换为向量。如果要保留数据框结构,可以键入

    myframe[-1, , drop = FALSE]
    

    【讨论】:

    • 从文档中:drop:logical。如果为 TRUE,则将结果强制转换为可能的最低维度。默认是只剩下一列就删除,如果只剩下一行则不删除。
    • 谢谢大家!一直以来,我从来没有遇到过这个.. R,你做错了!!!!
    猜你喜欢
    • 1970-01-01
    • 2013-03-07
    • 2022-01-23
    • 1970-01-01
    • 2016-10-01
    • 2019-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多