2017-06-15 237 views
0

您可以使用NULL進行替換嗎?用NULL替換數據幀中的值

#Data Frame 
a = c("tom", "alex", "chris", "jen", "mary") 
b = c(NA) 
df = data.frame(a,b) 

#Replace Tom with NULL 
df$c <- gsub('tom', NULL, df$a) 

的最後一行代碼給我下面的錯誤:invalid 'replacement' argument。替換爲NULL可能嗎?我想問的原因是因爲我試圖將大型數據集上傳到postgres中,並且由於空白和NA值而導致某些整數變量被拒絕。謝謝。

+4

不能使用NULL的所有元素。參見'c(1,2,NULL)'。注意NULL被刪除。 'df $ c'是同一只野獸。 –

+0

你是如何將數據加載到postgres中的?這可能是解決問題的一條途徑。 – thelatemail

+0

我正在通過軌道是csv格式將數據加載到postgres中。 Postgres拒絕使用空白(即「」)或NA的觀察值的整型變量。它不會拒絕NULL值,所以我試圖用NULL替換我的數據框中的NAs和空格。你認爲這是可能的嗎? – BlueDevilPride

回答

2

我不完全確定你在問什麼。但這裏有一些例子,可以幫助

#this replaces tom with NA 
df$c = gsub('tom', NA, df$a) 

NULL vs NA

#this creates a vector of two elements, as NULL is nothing 
d = c("a","b",NULL) 

#this creates a vector with three elements, as NA is blank 
e = c("a","b",NA) 

刪除與 「湯姆」

e = df$a[df$a != "tom"] 
+0

我想問一個更好的方法是,R可以保持一個NULL值嗎?我可以用NULL替換vector中的值,我相信我剛剛根據這個討論瞭解到它不能。 https://www.r-bloggers.com/r-na-vs-null/ – BlueDevilPride