Iは、次のコードとRのデータフレームを初期化:Rで数値として指定したデータフレーム列が文字に変わるのはなぜですか?
pcts[nrow(pcts)+1,] <- c(paste(varname,gname,sep="="), btype, pct)
しかし、私は、関数からのPCT類を返し、成功:
pcts <- data.frame(group=character(),
bonus.type=character(),
success.rate=double(),
stringsAsFactors = FALSE)
私は次いで、データフレームに行を追加します.rate列は文字値です。数学演算でこの列の値を使用するには、as.double関数またはas.numeric関数を使用する必要があります。これが起こらないように私はコードに加えることができる変更はどれですか?
'のC(ペースト(varnameが、gnameは、9月= "=" )、btype、pct) 'は文字ベクトルです。' paste(varname、gname、sep = "=") 'は文字を返します。私は行の数を設定し、値を記入するために 'c'ではなく' list'を使用してdata.frameを事前に構築することをお勧めします。 'pcts < - data.frame(group = character(500)、bonus.type = character(500)、success.rate =数値(500)、stringsAsFactors = FALSE)'のようなものと 'pcts [nrow(pcts)+ 1、] < - list(ペースト(varname、gname、sep = "=")、btype、pct) '。 – lmo