R에서 as.numeric 함수를 사용하여 인수를 숫자로 변환

Jinku Hu 2023년1월30일
  1. as.numeric함수를 사용하여 R에서 인수를 숫자로 변환
  2. as.characteras.numeric함수를 결합하여 R에서 계수를 숫자로 변환
R에서 as.numeric 함수를 사용하여 인수를 숫자로 변환

이 기사에서는 R에서 요소를 숫자로 변환하는 방법에 대한 여러 방법을 보여줍니다.

as.numeric함수를 사용하여 R에서 인수를 숫자로 변환

as함수는 일반적으로 데이터 유형을 명시 적으로 다른 유형으로 변환하는 데 사용됩니다. 변환 프로세스는 R 용어로 강제라고하며 다른 프로그래밍 언어에있는 캐스팅의 개념을 나타냅니다. as.logical함수를 호출하면 전달 된 인수를 논리 유형으로 강제 변환하려고합니다. 마찬가지로as.characteras.numeric은 주어진 인수를 해당 유형으로 변환합니다. 논리 유형으로 변환 된 모든 숫자 (0 제외)는TRUE값 (음수 포함)을 나타냅니다.

> as.logical(31)
[1] TRUE

> as.logical(-31)
[1] TRUE

> as.character(31)
[1] "31"

> as.numeric(FALSE)
[1] 0

> as.numeric(TRUE)
[1] 1

R은 또한 다른 유형으로 구성된 벡터에서 산술 연산을 수행 할 때 필요한 암시 적 유형 강제 변환 규칙을 구현합니다. 다음 코드 스 니펫에서 설명 된 것처럼 원자 벡터에 문자열이 포함 된 경우 다른 모든 요소도 문자열로 변환됩니다. 벡터에 논리, 숫자 및 문자열의 혼합 요소가 포함 된 경우 문자열 유형으로 강제 변환됩니다. 마지막으로 벡터에 숫자와 논리가 포함되어 있으면 후자는 숫자로 변환됩니다.

> v1 <- c(1, "two", 3, 4, 5, 6)

> typeof(v1)
[1] "character"

> v1 <- c(T, "two", 3, 1, F, T)

> typeof(v1)
[1] "character"

> v1 <- c(1, T, 3, F, 5, 6)

> typeof(v1)
[1] "double"

요인을 숫자로 변환 할 때as.numeric은 대부분 의미가없고 요인 수준과 일치하지 않는 기본 정수 표현 만 반환한다는 점에 유의해야합니다. unclass함수를 사용하여 요인 객체가 내부적으로 어떻게 저장되는지 조사 할 수 있습니다. f2요소의 색인은2 1 2 3이며, 일반적으로 다음 코드 샘플에 표시된대로as.number호출을 사용하여 리턴됩니다.

> f2 <- factor(c(3, 2, 3, 4))

> f2
[1] 3 2 3 4
Levels: 2 3 4

> f2.n <- as.numeric(f2)

> unclass(f2)
[1] 2 1 2 3
attr(,"levels")
[1] "2" "3" "4"

> f2.n
[1] 2 1 2 3

as.characteras.numeric함수를 결합하여 R에서 계수를 숫자로 변환

요인 수준은as.characteras.numeric함수를 결합하여 정수 유형으로 변환 할 수 있습니다. as.character는 요인 수준을 문자열로 반환합니다. 그런 다음as.numeric함수를 호출하여 문자열을 숫자로 강제 변환 할 수 있습니다.

> f2 <- factor(c(3, 2, 3, 4))

> f2.c <- as.character(f2)

> f2.c
[1] "3" "2" "3" "4"

> f2.c <- as.numeric(as.character(f2))

> f2.c
[1] 3 2 3 4
작가: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

관련 문장 - R Factor