この質問は以前に回答されている可能性がありますが、回答がありませんでした。
数値と欠損値で構成されるデータ セットがあります。1 行はパーセンテージです。以下は、AA、BB、および CC が列名である偽のデータの小さなセットです。このデータセットの 3 行目はパーセンテージです。
AA BB CC
234 432 78
1980 3452 2323
91.1 90 93.3
34 123 45
この場合、データセットを読み取ると、AA と CC は数値で、BB は整数です。どこかで 90.0 が 90 に丸められたと思います。BB が数値であることを指定しないと、基本的な算術演算で問題が発生する可能性がありますか?
dd = 1 と ee = 2 で両方が整数の場合、C 言語は dd / ee = 0 と言い、R は dd / ee = 0.5 と言うと思います。
以下は、データが数値であるか整数であるかに関係なく、R の答えが変更されないことを示唆しているように見える一連の単純な数学演算です。それにもかかわらず、データを読み取るときにすべての変数が数値であることを指定するのが賢明だろうと私は考え続けています。Googleを使用して、データ型が違いを生むように見える例を1つか2つ見つけましたが、以下ではありません。
aa <- c(1,2,3,4,5,6,7)
bb <- 2
str(aa)
str(bb)
cc <- as.integer(aa)
dd <- as.integer(bb)
str(cc)
str(dd)
aa/bb
cc/dd
aa/dd
cc/bb
ee <- aa * aa
str(ee)
sum(ee/2)
ff <- cc * cc
str(ff)
sum(ff/2)
gg <- 4.14
hh <- ((aa * aa) * gg) / 2
hh
ii <- ((cc * cc) * gg) / 2
ii
jj <- (aa * aa) / gg
jj
kk <- (cc * cc) / gg
kk
jj == kk
mm <- as.integer(1)
nn <- as.integer(2)
mm/nn
これは単純な数学の問題ではない可能性が高いという安心感を望んでいると思いますが、可能性があると思います. ここにはプログラミングの基本的なルールがあるとずっと思っていますが、それが何であるかはわかりません。(私は倍精度の概念を認識しています。)
確かに基本的な問題であるアドバイスをありがとう。