0
我有一个6列1800行的数据帧。数据从软件导出,结果为“是”,“否”和“ - ”(对于未记录的数据)。我想改变 - 对于NA,是到1,否为0.是否有一种好方法可以一次完成这一切?替换R数据帧中的值
我试过datap[datap=="-"] <- NA
,它将“ - ”的所有值改为<NA>
。我认为这是我想要的?然后,当我试图datap[datap=="No"] <- 0
,我得到了一个错误:
> 1: In `[<-.factor`(`*tmp*`, thisvar, value = "0") :
invalid factor level, NA generated
而所有的“不”的价值观成为NA。我在这里做错了什么?
当你在数据读取方面尝试添加两个参数'从datap < - 函数read.table(my_file,stringsAsFactors = FALSE,na.strings =“ - ”)'。然后你可以替换列值。 –
使用'as.character'将列更改为'character',然后在替换之前用替换值替换或创建新级别。 – akrun
谢谢!皮埃尔的答案奏效了,但是当我将“是/否”更改为1/0时,他们是字符。如何将多列更改为数字,而不更改日期列?我一直在用'datap $ taskked < - as.numeric(datap $ taskked)'来单独更改它们,但是有没有办法同时更改多个? – Madison