[問題] 原始資料中遺漏值被填上奇怪文字問題

作者: jasonfghx (工人)   2018-03-25 19:34:49
[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
入門(寫過其他程式,只是對語法不熟悉)
[問題敘述]:
不好意思 原始資料中 有些空白被填上- ? NA這種
但實際上他是遺漏值, 有沒有什麼方式可以把它們取代成空白
讓is.na判斷成是遺漏值, 謝謝!!
[程式範例]:
wdbc=read.table("DM_Assignment_2_Kidney.csv", header=F,sep=",")
wdbc1=wdbc
names(wdbc) <- c("Age","Blood Pressure","Specific
Gravity","Albumin","Sugar","Red Blood Cells","Pus Cell","Pus Cell
clumps","Bacteria","Blood Glucose Random","Blood Urea","Serum
Creatinine","Sodium","Potassium","Hemoglobin","Packed Cell Volume","White
Blood Cell Count","Red Blood Cell Count","Hypertension","Diabetes
Mellitus","Coronary Artery Disease","Appetite","Pedal Edema","Anemia","Class")
for(i in 1:25)(
wdbc1[,i]<-gsub("[?]",NA, wdbc[,i])
)
[關鍵字]:
遺漏值
作者: celestialgod (天)   2018-03-25 19:39:00
which(is.na(x), arr.ind = TRUE)會回傳NA所在的Row跟Column位置
作者: jasonfghx (工人)   2018-03-25 19:50:00
THX
作者: celestialgod (天)   2018-03-25 20:13:00
matrix還是data.frame?matrix用gsub(x, "[-?]", "NA") 在抓=="NA"的位置漏看還有空白 gsub(x, "[-? ]", "NA")我放錯位置了Orz gsub("[-? ]", "NA", x)如果是長度為零的話 x[nchar(x)] = "NA"更正 x[nchar(x)==0] = "NA"data.frame的話 就有很多做法了QQ看你是用base的函數還是dplyr or data.table不過data.frame的做法也一樣拉,是character的欄位做上面那兩件事情,取代長度為0的跟取代特殊字元另外,你如果是讀檔案的話,還可以用read.table的na.strings去把你要變NA的字串直接轉NAhttps://pastebin.com/B8xMx9mP
作者: jasonfghx (工人)   2018-03-25 20:27:00
THX我來學習一下經過gsub 原本是data frame的資料都變成char這有解嗎?我自己解決了

Links booklink

Contact Us: admin [ a t ] ucptt.com