2014-02-19 31 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")