2015-05-06 20 views
5

Tôi có một khung dữ liệu đơn giản nhưkhung dữ liệu không còn là một khung dữ liệu một lần yếu tố được lấy ra

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

tôi loại bỏ các yếu tố đầu tiên như vậy:

myframe<-myframe[-1,] 

Và khi tôi làm điều này:

is.data.frame(myframe) 

kết quả tôi nhận được là:

[1] FALSE 

tôi có thể sửa chữa nó bằng cách:

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

nhưng tôi nghĩ rằng khung dữ liệu sẽ không dừng lại là một khung dữ liệu sau khi loại bỏ các yếu tố

gì đang xảy ra ở đây? Tôi đã mã hóa cả ngày và bộ não của tôi bị rán và tôi không thể hình dung ra điều này. Hãy giúp tôi.

Mục tiêu của tôi là chỉ xóa các lần xuất hiện đầu tiên của các NA trong một khung dữ liệu. Nếu chúng xảy ra ở đâu đó ở giữa, nó không quan trọng.

Cảm ơn bạn!

Trả lời

9

Vì bạn chỉ có một cột, R sẽ tự động chuyển đổi kết quả thành vectơ. Nếu bạn muốn giữ nguyên cấu trúc khung dữ liệu, bạn có thể nhập

myframe[-1, , drop = FALSE] 
+2

Và từ tài liệu: thả: hợp lý. Nếu TRUE kết quả được ép buộc đến thứ nguyên thấp nhất có thể. Mặc định là để thả nếu chỉ còn một cột, nhưng không được thả nếu chỉ còn một hàng. – tospig

+0

Xin cảm ơn các bạn! Tất cả thời gian này tôi không bao giờ chạy vào điều này .. R, y u làm dis !!!! –

Các vấn đề liên quan