を必要とするあなたも行列に変換する必要はありません。 Ben Bolker氏が言ったように、あなたの最善の選択肢は、ファイルを読むときにna.strings
を使うことです。
データフレームは、あなたが直接行うことができ、ファイルから来ていない場合:
df[df=="?"] <- 0
あなたは文字を含むことは何が要因に変換されるかもしれませんが覚えておく必要があります。そのような場合は、これらの要因を文字に変換する必要があります。
# check which variables are factors
isfactor <- sapply(df, is.factor)
# convert them to character
# I use lapply bcs that returns a list, and I use the
# list-like selection of "elements" (variables) to replace
# the variables
df[isfactor] <- lapply(df[isfactor], as.character)
あなたは一緒にすべてをかけるのであれば、あなたが得る:ベンは、より穏やかなアプローチここでは、あなたのブルートフォースオプションを与えるのか?
df <- data.frame(
a = c(1,5,3,'?',4),
b = c(3,'?','?',3,2)
)
isfactor <- sapply(df, is.factor)
df[isfactor] <- lapply(df[isfactor], as.character)
df[df=="?"] <- 0
df
は、あなたが 'を見てきましたが()'を交換しますか? – Stedy
あなたは私に例を挙げることができますか?それは本当に役に立ちます – user47
私に例を教えてもらえますか?それは本当に役に立つだろう – user47