Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 如何将NULL文本字符串转换为数字?_String_R_Numeric - Fatal编程技术网

String 如何将NULL文本字符串转换为数字?

String 如何将NULL文本字符串转换为数字?,string,r,numeric,String,R,Numeric,我有来自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 } i在SQL查询中添加:ISN

我有来自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
}

i在SQL查询中添加:
ISNULL(myNullableField,0)

这将确保-如果您的值为NULL-它将转换为0


我猜这是一个select查询?

在SQL查询中添加:
ISNULL(myNullableField,0)

这将确保-如果您的值为NULL-它将转换为0

我认为这是一个select查询?

在R:

file$x[file$x=="NULL"] <- 0
R中的文件$x[文件$x==“NULL”]


file$x[file$x==“NULL”]虽然您应该在源代码(即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
>xyy[is.na(y)]y
[1]  1 10 14  8  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
>xyy[is.na(y)]y
[1]  1 10 14  8  0

如果您正在使用
read.csv
阅读此文件,请设置选项
na.strings='NULL'
。这将导入
文件$x
作为
数值
,而不是
因子
,使用数值
NA
s对象代替
NULL
字符串。然后用
0
s替换
NA
s:

file$x[is.na(file$x)] <- 0

file$x[is.na(file$x)]如果您使用
read.csv
读取此文件,请设置选项
na.strings='NULL'
。这将导入
文件$x
作为
数值
,而不是
因子
,使用数值
NA
s对象代替
NULL
字符串。然后用
0
s替换
NA
s:

file$x[is.na(file$x)] <- 0

file$x[is.na(file$x)]@sebastion-c我收到警告消息:警告消息:在
[Try
file$x@sebastion-c我收到警告消息:警告消息:在
[尝试
文件$x如何将数据读入R?这是您应该解决的步骤。如何将数据读入R?这是您应该解决的步骤。在这种情况下,我建议通过SQL而不是R进行操作。如果我使用计数,这一行将转到何处?例如:选择a.id,count(b.variable)从a,b开始,其中a.id=b.id;它在任何字段上运行,可能最终是
NULL
,因此我假设它在
b.variable
附近,作为
COUNT(ISNULL(b.variable,0))
我得到一个错误,说:调用本机函数'ISNULL'时参数计数不正确,这很奇怪,是您的
()
正确放置?
ISNULL
需要两个参数,可以为NULL的字段和NULL的替换。因此,我的示例是正确的。在这种情况下,我建议通过SQL而不是R来执行。如果我使用counts,这一行将指向何处?例如:选择a.id、count(b.variable)从a,b开始,其中a.id=b.id;它在任何字段上运行,可能最终是
NULL
,因此我假设它在
b.variable
附近,作为
COUNT(ISNULL(b.variable,0))
我得到一个错误,说:调用本机函数'ISNULL'时参数计数不正确,这很奇怪,是您的
()
正确放置?
ISNULL
需要两个参数,可为NULL的字段和NULL的替换项。因此我的示例是正确的。谢谢!这解决了问题(尽管我确信许多其他答案也能解决问题)。对我来说,似乎通常是文件$x[is.na(file$x)[谢谢!这解决了问题(尽管我确信这些其他答案中的许多都是有效的)对我来说,似乎通常是$x[is.na(file$x)[