이 질문은 아마도 이전에 대답되었을 지 모르지만 나는 대답을 찾지 못했습니다.R : 정수 대 숫자
숫자와 누락 된 값으로 구성된 데이터 세트가 있습니다. 한 행은 백분율입니다. 다음은 AA, BB 및 CC가 열 이름 인 작은 가짜 데이터 집합입니다. 이 데이터 세트의 세 번째 행은 백분율입니다. 내가 데이터 세트 AA와 CC를 읽을 때이 경우
AA BB CC
234 432 78
1980 3452 2323
91.1 90 93.3
34 123 45
는 숫자이며, BB는 정수입니다. 90.0이 90으로 반올림되었다고 생각합니다. BB가 숫자라는 것을 지정하지 않으면 기본 산술에 문제가 발생할 수 있습니까?
dd = 1 및 ee = 2이고 둘 다 정수인 경우 C 언어는 dd/ee = 0이라고 말하고 R은 dd/ee = 0.5라고 말합니다.
다음은 데이터가 숫자인지 정수인지에 관계없이 R에서 답안을 제시하는 모든 일련의 간단한 수학 연산입니다. 그럼에도 불구하고 데이터를 읽을 때 모든 변수가 숫자임을 지정하는 것이 현명하다고 생각합니다. Google을 사용하여 데이터 유형이 차이를 만드는 것처럼 보이지만 아래에서는 보이지 않는 예를 발견했습니다.
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
나는 이것이 단순한 수학에서는 문제가되지 않을 것이라는 확신을 주길 바란다. 나는 여기서 프로그래밍의 근본적인 규칙이 있다고 생각하지만, 그것이 무엇인지는 확실하지 않다. (I 배정 밀도의 개념을 알고 있습니다.) 반드시 기본적인 문제가 무엇인지 어떤 조언을
감사합니다. /
연산자를 사용