列1と2を数値に変換するにはどうすればよいですか?私はこのことを私には明白に思ったが、そうではなかった。as.numberデータフレームのサブセット
おかげ
df <- data.frame(v1 = c(1,2,'x',4,5,6), v2 = c(1,2,'x',4,5,6), v3 = c(1,2,3,4,5,6), stringsAsFactors = FALSE)
as.numeric(df[,1:2])
列1と2を数値に変換するにはどうすればよいですか?私はこのことを私には明白に思ったが、そうではなかった。as.numberデータフレームのサブセット
おかげ
df <- data.frame(v1 = c(1,2,'x',4,5,6), v2 = c(1,2,'x',4,5,6), v3 = c(1,2,3,4,5,6), stringsAsFactors = FALSE)
as.numeric(df[,1:2])
我々は関心の列をループにlapply
を使用して、私はunlist
を使用して、このアプローチを提案し、数値
df[1:2] <- lapply(df[1:2], as.numeric)
に変換することができます。可能であれば、私は特に「ワンライン」アプローチが好きです。さらに多くのオプションと参考資料については、この美しいものをお勧めします。post。
df <- data.frame(v1 = c(1,2,'x',4,5,6), v2 = c(1,2,'x',4,5,6),
v3 = (1,2,3,4,5,6), stringsAsFactors = FALSE)
df[, c("v1","v2")] <- as.numeric(as.character(unlist(df[, c("v1","v2")])))
Warning message:
NAs introduced by coercion
str(df)
data.frame': 6 obs. of 3 variables:
$ v1: num 1 2 NA 4 5 6
$ v2: num 1 2 NA 4 5 6
$ v3: num 1 2 3 4 5 6
:
df[, 1:2] <- as.numeric(as.matrix(df[, 1:2]))
'のDF [1:2] < - lapply(DF [1:2]、as.numeric)' – akrun
'のDF [ 、1:2] < - as.numeric(as.matrix(df [、1:2])) ' – jogo