簡體   English   中英

在 R 中的 data.table 中刪除 NA

[英]Remove NA in a data.table in R

我正在嘗試在 R 中做一些顯然非常容易的事情(抱歉,我對 data.tables 非常陌生)但我沒有設法獲得正確的解決方案。 我嘗試刪除特定列上具有 NA 值的行(“Ground_Tru”。這是我迄今為止的嘗試;

all_data <- fread ("all_vbles.txt",header=TRUE, na.strings=c("NA","N/A",""))
na.omit (all_data, cols="Ground_Tru")

我收到消息

75 列的空數據表(0 行):OID_,IN_FID,Polygon_ID,DIST_highw,DIST_railw,DIST_port...

然而,“Ground_Tru”字段有許多 NA 值,在此先感謝您的幫助,

最后我設法解決了這個問題。 顯然,R 使用 data.table 庫讀取列名存在一些問題,因此我遵循了此處提供的建議之一: read.table 不讀取列名

所以代碼變成了這樣:

library(data.table)

read.table("all_vbles.txt",header=T,nrow=1,sep=",",dec=".",quote="")
all_data <- fread ("all_vbles.txt",header=FALSE, skip=1, ,sep="auto", na.strings=c("NA","N/A","")) 
setnames (all_data,header)
test_data <- na.omit (all_data, "Ground_Tru") 

這似乎工作正常。

使用complete.cases

all_data <- all_data[complete.cases(all_data[, 'Ground_Tru'])]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM