我有一個函數可以應用於列,並將結果放在另一列中,它有時候會給我integer(0)
作爲輸出。所以,我的輸出列將是這樣的:用NA替換整數(0)
45
64
integer(0)
78
我如何檢測這些integer(0)
的和NA
取代他們?有沒有像is.na()
那樣會檢測到它們?
編輯:好吧,我想我有一個重複的例子:
df1 <-data.frame(c("267119002","257051033",NA,"267098003","267099020","267047006"))
names(df1)[1]<-"ID"
df2 <-data.frame(c("257051033","267098003","267119002","267047006","267099020"))
names(df2)[1]<-"ID"
df2$vals <-c(11,22,33,44,55)
fetcher <-function(x){
y <- df2$vals[which(match(df2$ID,x)==TRUE)]
return(y)
}
sapply(df1$ID,function(x) fetcher(x))
輸出從這個sapply
是問題的根源。
> str(sapply(df1$ID,function(x) fetcher(x)))
List of 6
$ : num 33
$ : num 11
$ : num(0)
$ : num 22
$ : num 55
$ : num 44
我不希望這是一個名單 - 我想要一個向量,而不是num(0)
我想NA
(在這個玩具數據注意它給num(0)
- 我的真實數據它給(integer(0)
)。
would data.frame $ column [data.frame $ column == integer(0)] < - NA work? – cianius
@pepsimax你爲什麼不把它作爲答案(也許提供一個工作的例子)? –
數據幀不能包含「整數(0)」。請提供一個可重複的例子。 –