亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將空白單元格更改為“ NA”

將空白單元格更改為“ NA”

小唯快跑啊 2019-11-26 12:59:56
我的目標是為所有空白單元格分配“ NA”,而與類別或數值無關。我正在使用na.strings =“”。但這不是將NA分配給所有空白單元格。## reading the datadat <- read.csv("data2.csv")head(dat)  mon hr        acc   alc sex spd axles door  reg                                 cond1 drug11   8 21 No Control  TRUE   F   0     2    2      Physical Impairment (Eyes, Ear, Limb)     A2   7 20 No Control FALSE   M 900     2    2                                Inattentive     D3   3  9 No Control FALSE   F 100     2    2 2004                                Normal     D4   1 15 No Control FALSE   M   0     2    2      Physical Impairment (Eyes, Ear, Limb)     D5   4 21 No Control FALSE      25    NA   NA                                                D6   4 20 No Control    NA   F  30     2    4                Drinking Alcohol - Impaired     D       inj1 PED_STATE st rac11     Fatal      <NA>  F <NA>2  Moderate      <NA>  F <NA>3  Moderate      <NA>  M <NA>4 Complaint      <NA>  M <NA>5 Complaint      <NA>  F <NA>6  Moderate      <NA>  M <NA>## using na.stringsdat2 <- read.csv("data2.csv", header=T, na.strings="")head(dat2)  mon hr        acc   alc sex spd axles door  reg                                 cond1 drug11   8 21 No Control  TRUE   F   0     2    2 <NA> Physical Impairment (Eyes, Ear, Limb)     A2   7 20 No Control FALSE   M 900     2    2 <NA>                           Inattentive     D3   3  9 No Control FALSE   F 100     2    2 2004                                Normal     D4   1 15 No Control FALSE   M   0     2    2 <NA> Physical Impairment (Eyes, Ear, Limb)     D5   4 21 No Control FALSE      25    NA   NA <NA>                                  <NA>     D6   4 20 No Control    NA   F  30     2    4 <NA>           Drinking Alcohol - Impaired     D       inj1 PED_STATE st rac11     Fatal        NA  F   NA2  Moderate        NA  F   NA3  Moderate        NA  M   NA4 Complaint        NA  M   NA5 Complaint        NA  F   NA6  Moderate        NA  M   NA
查看完整描述

3 回答

?
幕布斯6054654

TA貢獻1876條經驗 獲得超7個贊

一個更友好的解決方案dplyr是


require(dplyr)


## fake blank cells

iris[1,1]=""


## define a helper function

empty_as_na <- function(x){

    if("factor" %in% class(x)) x <- as.character(x) ## since ifelse wont work with factors

    ifelse(as.character(x)!="", x, NA)

}


## transform all columns

iris %>% mutate_each(funs(empty_as_na)) 

要將更正僅應用于部分列,您可以使用dplyr的列匹配語法指定感興趣的列。例:mutate_each(funs(empty_as_na), matches("Width"), Species)


如果表格中包含日期,則應考慮使用類型更安全的ifelse


查看完整回答
反對 回復 2019-11-26
?
郎朗坤

TA貢獻1921條經驗 獲得超9個贊

我最近遇到了類似的問題。這就是對我有用的方法,如果變量是數字,那么簡單df$Var[df$Var == ""] <- "NA"就足夠了。但是,如果變量是一個因數,則需要先將其轉換為字符,然后""用所需的值替換單元格,然后將其轉換回因數。因此,例如,您的Sex變量,我認為這是一個因素,如果您要替換空單元格,我將執行以下操作:


df$Var <- as.character(df$Var)

df$Var[df$Var==""] <- "NA"

df$Var <- as.factor(df$Var)


查看完整回答
反對 回復 2019-11-26
  • 3 回答
  • 0 關注
  • 2565 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號