这个问题在这里已经有了答案:
Data.frame becomes factor/vector after filtering/subsetting
(1 个回答)
6年前关闭。
我有一个简单的数据框
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 会自动将结果转换为向量。如果要保留数据框结构,可以键入
myframe[-1, , drop = FALSE]
关于r - 删除元素后,数据框不再是数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30088933/