[英]How do I convert a text string of NULL to a number?
我有來自SQL的輸入數據,其中的字段為字符串“ NULL”,例如
unique(file$x)
退貨
Levels: 1 10 14 8 NULL
我希望“ NULL”的任何結果都變為“ 0”,然后使用as.numeric()進行轉換。
我努力了:
i <- 1
for(i <= nrow(file) {
if(file$x[i] == "NULL") {
file$x[i] <- 0
}
i <- i + 1
}
但是,我現在得到的結果是NULL變成了NULL,但仍然無法將其轉換為數字0。
如果要使用read.csv
閱讀,請設置選項na.strings='NULL'
。 這會將file$x
導入為numeric
而不是factor
,使用數字NA
s對象代替NULL
字符串。 然后將NA
替換為0
s:
file$x[is.na(file$x)] <- 0
在您的SQL查詢中添加: ISNULL(myNullableField, 0)
這可以確保-如果您的值為NULL-它將轉換為0
我認為這是一個選擇查詢?
在R中:
file$x[file$x=="NULL"] <- 0
盡管您應該從源頭(即SQL)解決此問題,但這是解決此問題的一種方法。
將因子轉換為字符,然后將NA替換為0
我不確定這是否是處理非常大數據的正確方法。
> x <- as.factor(c('1', '10', '14', '8', 'NULL'))
> y <- as.numeric(as.character(x))
Warning message:
NAs introduced by coercion
> y[is.na(y)] <- 0
> y
[1] 1 10 14 8 0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.