R DataFrame의 For 루프

R Dataframe Ui For Lupeu



for 루프는 일련의 명령을 지정된 횟수만큼 반복할 수 있게 해주는 제어 구조입니다. R에서 반복에 일반적으로 사용되는 방법입니다. 특히 일부 요소에 대해 동일한 작업을 수행하거나 DataFrame의 데이터 구조와 같은 데이터 구조를 반복해야 하는 경우에 그렇습니다. 행과 열은 R에서 DataFrame을 구성하며 각 행은 단일 관찰을 나타내고 각 열은 해당 관찰의 변수 또는 측면을 나타냅니다.

이 특정 기사에서는 for-loop를 사용하여 다양한 접근 방식으로 DataFrame을 반복합니다. 행과 열에 걸친 for-loop 반복은 큰 DataFrames에 대해 고도로 계산적일 수 있습니다.







예제 1: R에서 DataFrame 행에 대한 For-Loop 사용

R의 for 루프는 DataFrame의 행을 반복하는 데 사용할 수 있습니다. for 루프 내에서 행 인덱스를 사용하여 DataFrame의 각 행에 액세스할 수 있습니다. 지정된 DataFrame의 행을 반복하는 for-loop의 데모인 다음 R 코드를 살펴보겠습니다.



데이터 = 데이터.프레임(c1 = c(1:5),

c2 = c(6:10),

c3 = c(11:15))

for(i in 1:nrow(데이터)) {

행 <- 데이터[i, ]

인쇄(행)

}

여기서는 먼저 'data' 내부에 data.frame() 함수를 정의합니다. 여기서 data.frame() 함수는 세 개의 열을 포함합니다. 각 열은 각각 1에서 5, 6에서 10, 11에서 15까지 일련의 숫자로 설정됩니다. 그 후, 총 행 수를 얻기 위해 nrow() 함수를 사용하여 DataFrame '데이터'의 행을 반복하는 for 루프 함수가 배포됩니다. 루프 변수 'i'는 'data'의 전체 행 수에 대한 값을 취합니다.



그런 다음 대괄호 표기법 '[ ]'을 사용하여 DataFrame 'data'의 i번째 행을 추출합니다. 추출된 행은 print() 함수에 의해 인쇄될 '행' 변수에 저장됩니다.





따라서 루프는 DataFrame의 모든 행을 반복하고 열 값과 함께 행 번호를 출력에 표시합니다.



예 2: DataFrame 열에 대해 For-Loop 사용

마찬가지로 R의 for 루프를 사용하여 지정된 데이터 프레임의 열을 반복할 수 있습니다. 이전 코드를 사용하여 열을 반복할 수 있지만 for 루프에서 ncol() 함수를 사용해야 합니다. 반대로 for-loop를 사용하여 DataFrame의 열을 반복하는 가장 간단한 방법이 있습니다. 이를 위해 다음 R 코드를 고려하십시오.

df = 데이터.프레임(col1 = c(10, 20, 30, 40, 50),

열2 = c(11, 21, 31, 41, 51),

열3 = c(12, 22, 32, 42, 52))

for(colnames(df)의 col) {

열 <- df[[col]]

인쇄(열)

}

여기에서 먼저 열 삽입과 함께 data.frame()이 사용되는 df 변수를 만듭니다. 'df' DataFrame에는 숫자 값을 포함하는 세 개의 열이 있습니다. 다음으로 for-loop를 사용하여 colnames() 함수를 사용하여 'data' DataFrame의 열 이름을 반복합니다. 각 반복에서 루프 변수 'col'은 현재 열의 이름을 사용합니다. 추출된 열은 'column'이라는 새 변수에 저장됩니다.

따라서 'column' 변수의 데이터는 다음 콘솔에 출력을 인쇄합니다.

예제 3: 전체 DataFrame에서 For-Loop 사용

이전 예제에서는 각각 for 루프를 사용하여 열과 행을 반복했습니다. 이제 중첩된 for 루프를 사용하여 DataFrame의 행과 열을 동시에 반복합니다. R의 코드는 중첩된 for-loop가 열과 행에 대해 사용되는 다음에서 제공됩니다.

직원 <- data.frame(id=1:4,

이름=c('김', '존', '이안', '마크'),

location=c('호주', '미국', '캐나다', '요르단'),

급여=c(2000, 1800, 1500, 1000))

for (1:nrow(직원)의 행) {

for (1의 열:ncol(직원)) {

print(paste('행 인덱스', 행, '열 이름', col, '셀 값', 직원[행, 열]))

}

}

여기에서 열을 설정하기 위해 data.frame()이 호출되는 'employees' 변수를 선언합니다. 각 열의 값은 벡터를 사용하여 지정됩니다. 그런 다음 '직원' DataFrame의 행과 열에 대해 두 개의 중첩된 for 루프를 사용하여 데이터를 반복합니다. 외부 루프는 '1:nrow(employees)'를 사용하여 지정된 DataFrame의 행을 반복합니다. 각 행에 대해 DataFrame의 열을 반복적으로 반복하기 위해 내부 루프에서 '1:ncol(employees)'가 사용됩니다.

그 후 행 인덱스, 열 인덱스 및 셀 값을 단일 문자열로 연결하기 위해 paste() 함수를 배포하는 중첩 루프 내부에 print() 함수가 있습니다. 여기서 직원 [row, col] 표현식은 행과 열이 각각 기존 행과 열 인덱스인 현재 셀의 값을 가져옵니다.

따라서 콘솔의 출력은 연결된 행 인덱스, 열 인덱스 및 셀 값과 함께 단일 문자열로 검색됩니다.

예제 4: R의 For-Loop 대체 방법

for 루프는 이제 R 언어에서 구식입니다. 그러나 for 루프와 동일하게 작동하고 for 루프보다 빠른 몇 가지 대체 방법을 제공합니다. 이 방법은 DataFrames를 반복하기 위해 백그라운드에서 for-loop를 실행하는 '적용 제품군' 기능에서 가져온 것입니다. sapply() 함수가 DataFrame을 반복하는 데 사용되는 다음 R 코드를 고려해 봅시다.

dfX <- 데이터.프레임(var1=c(1:5),

var2=c(6:10),

var3=c(11:15),

var4=c(16:20))

dfX

sapply(dfX, 합계)

여기에서 먼저 각각 숫자 값을 포함하는 두 개의 열이 있는 data.frame() 함수를 호출하여 'dfX' DataFrame을 설정합니다. 그런 다음 원본 'dfX' DataFrame을 콘솔에 인쇄합니다. 다음 단계에서는 sapply() 함수를 사용하여 제공된 DataFrame을 반복하고 각 열의 합계를 가져옵니다. sapply() 함수는 일반적으로 'x' 및 'FUN' 인수를 사용합니다. 이 경우 X는 'dfX' DataFrame이고 'FUN'은 각 DataFrame의 열에 적용되는 sum() 함수입니다.

sapply() 함수를 통해 반복한 결과는 다음 화면과 같습니다. DataFrame의 합계 연산 결과는 각 열에 대해 표시됩니다. 또한 R에서 for-loop 작업을 위해 '적용 제품군'의 다른 기능을 사용할 수도 있습니다.

결론

특정 작업을 수행하기 위해 DataFrame의 행 또는 열을 반복하는 for 루프를 사용합니다. for 루프는 열과 행을 반복하기 위해 개별적으로 사용됩니다. 또한 데이터 프레임의 열과 행을 동시에 반복하는 데 이것을 사용합니다. 대부분의 경우 원하는 결과를 얻기 위해 함수를 적용하는 것이 더 효과적입니다. 적용 함수의 예는 for-loop 연산에 대한 마지막 예에서 제공됩니다.