Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.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
如何正确地将R表中的空变量转换为0_R_Eval - Fatal编程技术网

如何正确地将R表中的空变量转换为0

如何正确地将R表中的空变量转换为0,r,eval,R,Eval,我有一个表,其中一些变量缺少数据(记录为NULL)-我想将其中一些缺少的单元格转换为0,但由于某些原因,我似乎无法获得正确的语法。我最初的做法是这样做: b<- eval(parse(text=paste(table_full$','column_name1',sep=''))) b[which(is.na(b))]<-0 b[which(b=='NULL')]<-0 bis.na()返回TRUE或FALSE。试试b[它(is.na(b)==T)]因为R倾向于不将其值存储为“

我有一个表,其中一些变量缺少数据(记录为NULL)-我想将其中一些缺少的单元格转换为0,但由于某些原因,我似乎无法获得正确的语法。我最初的做法是这样做:

b<- eval(parse(text=paste(table_full$','column_name1',sep='')))
b[which(is.na(b))]<-0
b[which(b=='NULL')]<-0

bis.na()返回TRUE或FALSE。试试b[它(is.na(b)==T)]因为R倾向于不将其值存储为“NULL”,所以我将对一个肢体进行分析,并假设您将其作为文本导入,更具体地说是作为因子导入。尝试重新导入w
stringsAsFactors=FALSE
,然后使用您的代码:

b[b=='NULL'] <- 0

b[b=='NULL']此处冗余的
,只要
b[is.na(b)]同时尝试
b[is.na(b)]就足够了,您如何保存到文件?请提供一个。在这里使用
eval()
似乎非常不必要。通过分配给
b
,您实际上不会更新data.frame本身。如果文本文件中有文本“NULL”值,请使用
read.table
上的
na.strings=
将这些值转换为na值(向量中不能有“true”NULL值,因此单词“NULL”被强制为字符/字符串值)。
which()
将返回真值,因此这实际上是不必要的。你也可以用布尔值do
b[is.na(b)]来子集,当然你不会在这里用数字0来代替。如果列为字符,则数字0将转换为包含“0”的字符串。您仍然无法对该列执行算术运算。它将与
b[b=='NULL']相同
b[which(is.na(as.numeric(as.character(b))))]<-0
b[b=='NULL'] <- 0