개인 재정 R- 더미에서 인덱스가있는 루프를 사용하는 방법

R- 더미에서 인덱스가있는 루프를 사용하는 방법

비디오: r/Mildlyinfuriating | Gah! My candy! That's it -- this is going on Reddit. 2024

비디오: r/Mildlyinfuriating | Gah! My candy! That's it -- this is going on Reddit. 2024
Anonim

R에서 루프를 사용하는 것은 매우 편리하지만 루프를 반복하지 않으면보다 효율적인 코드를 작성할 수 있습니다. 가치를 넘어서서 지표를 넘었다. 이렇게하려면 함수의 중간 섹션을 다음 코드로 바꿉니다.

nclient <- 길이 (클라이언트) VAT <- seq_along (클라이언트)의 i에 대한 숫자 (nclient) {VAT [i] <- 루프에 대한 벡터 값을 사용하는 것과는 몇 가지 차이점이 있습니다:

벡터 클라이언트의 길이를 변수 nclient에 지정합니다.
  • 그러면 숫자 벡터 VAT가 벡터 클라이언트와 정확히 일치합니다. 이것을 벡터의

  • 사전 할당 이라고합니다. 그러면 seq_along () 함수를 사용하여 vector 자체가 아닌 클라이언트 인덱스를 반복합니다. 루프를 통과하는 첫 번째 패스에서 VAT의 첫 번째 값은 클라이언트의 첫 번째 값에 적용된 switch ()의 결과로 설정됩니다. 두 번째 단계에서 VAT의 두 번째 값은 클라이언트의 두 번째 값에 적용되는 switch ()의 결과입니다.

  • seq_along (클라이언트)를 벡터 1: nclient로 바꾸려는 유혹에 빠질 수 있지만 이는 좋지 않은 생각입니다. 벡터 클라이언트의 길이가 0이면 seq_along (클라이언트)는 빈 벡터를 만들고 루프의 코드는 실행되지 않습니다. 1: nclient를 사용하면 R은 벡터 c (1, 0)을 만들고 두 값을 반복하여 완전히 잘못된 결과를 얻습니다.

R에서 오브젝트를 늘릴 때마다 R은 오브젝트 전체를 복사하여 메모리의 새로운 위치로 이동해야합니다. 이것에는 두 가지 효과가 있습니다:

먼저 모든 복사 작업에 시간이 걸리기 때문에 코드가 느려집니다. 둘째, R이 계속해서 기억 속에서 물건을 움직이면,이 기억은 많은 작은 공간으로 나뉘어진다.
  • 이것은

  • 조각화,

라고 불리며 R과 메모리 사이의 통신이 원활하지 않게 만듭니다. 이전 예제와 같이 메모리를 미리 할당하여이 조각화를 피할 수 있습니다.

R- 더미에서 인덱스가있는 루프를 사용하는 방법

편집자의 선택

Photoshop CS6의 이미지에서 원하지 않는 요소를 제거하는 방법 - 더미

Photoshop CS6의 이미지에서 원하지 않는 요소를 제거하는 방법 - 더미

Adobe Photoshop Creative Suite 6에서 원하지 않는 요소 (이 경우 사람)를 이미지에서 완벽하게 제거하는 단계입니다.이 기술을 처음 시도 할 때는 원하는 요소에 연결되지 않은 요소가있는 이미지로 시작하십시오 이미지를 유지하십시오. 무언가가 포함 된 이미지를 엽니 다.

Photoshop CS6에서 선택 영역을 알파 채널로 저장하는 방법 - 더미

Photoshop CS6에서 선택 영역을 알파 채널로 저장하는 방법 - 더미

중 하나 Photoshop CS6의 알파 채널에 대한 가장 큰 장점은 이미지를 저장 한 다음 시간과 시간을 다시 검색 할 수 있다는 것입니다. 이렇게하면 선택 영역을 만드는 데 많은 시간과 노력이 쏟은 경우 특히 편리 할 수 ​​있습니다. 요소를 다시 선택하려면 휠을 다시 만들어야합니다 ...

Photoshop 이미지 - 인형

Photoshop 이미지 - 인형

암실에서 디지털로 이동하면 소음을 줄이는 방법 영화 및 가공 비용의 달러화 (가능한 환경 오염의 감소는 말할 것도 없음)를 제공하지만 사진 및 예술 사업에 새로운 도전 과제를 추가했습니다. 디지털 사진이 제시하는 문제 중 가장 중요한 것은 노이즈입니다. ...

편집자의 선택

Adobe Photoshop Elements에서 디지털 사진의 레이어 삭제하기 -

Adobe Photoshop Elements에서 디지털 사진의 레이어 삭제하기 -

디지털 사진이 보이면 해당 사진에서 레이어를 삭제할 수 있습니다. 레이어를 삭제하면 해당 레이어의 내용이 이미지 파일에서 제거됩니다. Adobe Photoshop Elements를 사용하여 그림에서 레이어를 삭제합니다.

Adobe Photoshop Elements로 디지털 사진의 레이어 편집하기 - 더미

Adobe Photoshop Elements로 디지털 사진의 레이어 편집하기 - 더미

Adobe Photoshop Elements에서 특정 레이어를 변경하여 이미지의 나머지 부분을 변경하지 않고 이미지를 편집 할 수 있습니다. 편집하려는 부분이 편집하려는 레이어에 있는지 확인하기 만하면됩니다.

디지털 사진 편집 - 인형

디지털 사진 편집 - 인형

잠시 동안 디지털 카메라로 사진을 찍었 으면 항상 결과에 감격하고 "이 사진을 구원받을 수 있습니까? "그 대답은"그렇습니다. "다음 표의 트릭을 사용하여 좋아하는 사진 편집기에서 디지털 사진을 편집하십시오. 기능 설명 권장 크기 조정 ...

편집자의 선택

WordPerfect Office 2002에서 작업 영역 사용자 지정 - 더미

WordPerfect Office 2002에서 작업 영역 사용자 지정 - 더미

WordPerfect 인터페이스에 대한 많은 것을 제어 할 수 있습니다 프로그램이 어떻게 보이고 행동하는지에 대한 용어). 모든 옵션을 훑어 보는 데 몇 시간을 소비 할 수 있지만 더 나은 일을해야합니다. 아래는 대부분의 사람들이 WordPerfect에서 다루기 쉬운 작업을위한 옵션입니다. 옵션 본부 : 설정 ...

의 그래픽 작업 - 그래픽을 사용하기 전에 WordPerfect 11 - Dummy

의 그래픽 작업 - 그래픽을 사용하기 전에 WordPerfect 11 - Dummy

기본에서 그래픽 작업 상자. 모든 상자에는 테두리와 배경이 있습니다. 두 가지 방법으로 상자와 상자 안에있는 그림을 선택할 수 있습니다. 텍스트를 입력하고 상자를 클릭하면 검은 색 핸들과 테두리가 생기지 않습니다.