2014-02-19 30 views
0

我在理解错误的逻辑时遇到了一些问题。用data.frame中的数字替换非<NA>

我需要替换非NA从数据帧从数字1

我测试,在载体上-A-,简单的代码:

a<-c("a","a","a", NA,"a") 
a[!is.na(a)]<-1 

和它的工作。

但我需要的是适用于data.frame相同的工艺,采用进口:

data<-read.table ("dataframe.csv", header = T, sep = ",",na.strings= c(" ","")) 

但是当我运行之前写入相同的代码

data$column1[!is.na(data$column1)]<-1 

[R返回:

警告消息:

In `[<-.factor`(`*tmp*`, !is.na(data$column1), value = c(NA_integer_, : 
    invalid factor level, NA generated 

有人知道问题出在哪里吗?一个主题

回答

0

到底我能使用替换功能做解释在这个论坛

data<-replace(data.frame(lapply(data, as.character), stringsAsFactors = FALSE), 
    !is.na(data), "1")