に文字を変換することによって検閲値を排除するためにdata.frameの列を操作するには、私が働いているデータのミニバージョンです:R - ここで数字
columnNum <- c("G1", "G2", "G3")
Al <- c("<5", 6, 7, "<4", 5, 6)
Ca <- c(9, 10, 11,10, 11, 12)
df <- data.frame(columnNum, Al, Ca, stringsAsFactors = FALSE)
は、現在、各列のクラスは、文字です(<を含む)一部の値が打ち切られているため、数字、数字、(左から右へ)
私がしようとしているのは、 "Al"列の値を実際の数値文字列の代わりに。私はただ1つの列でそれを行う方法を見つけることができると確信していますが、私の問題は、実際には、私は2つの異なる列を持っていることです。私は各列( "Al"から "Zn ")、値が検閲されているかどうかを確認し、もしそうなら、" < "を取り除いて数字に変換する。
私はまだかなり新しいですので、これは私が(私のビッグデータ上にないこの小さな1)を実行しようとしましたものです:
for(i in df$Al:df$Zn)
{
if (class(df[[i]]) != numeric)
{
df[[i]] <- as.numeric(gsub(pattern = "<", replacement =
"", df[[i]]))
}
}
ループ終了するだけでした。
'$アルDF:$ Zn'ではありませんdfを'df $ Al'の最初の要素から' df $ Zn'の最初の要素までのシーケンスです(数値の場合)。 – alistaire
おかげで、ありがとう!私はちょうど暗闇の中で何が起こるか見るために一発を撮った。 – BBODS