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

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

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

비디오: r/Mildlyinfuriating | Gah! My candy! That's it -- this is going on Reddit. 2025
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- 더미에서 인덱스가있는 루프를 사용하는 방법

편집자의 선택

여성 건강 : 케겔 운동 방법 - 인형

여성 건강 : 케겔 운동 방법 - 인형

케겔 운동은 성기의 근육을 타겟으로합니다. 이 근육은 출산 중에 발생하는 스트레칭으로 인해 종종 약해지지만, 임신 한 적이없는 여성을 포함하여 어떤 여성이라도 적절한 케겔 (Kegel)을하는 법을 아는 것이 도움이 될 수 있습니다. 본질적으로 케겔 (Kegel)은 생식기에 좋은 운동을 제공하여 ...

폐경기 동안 기대할 사항 - 인형

폐경기 동안 기대할 사항 - 인형

폐경은 모든 여성의 삶의 사실입니다. 다른 연령대의 여러 단계의 증상으로 진행됩니다. 폐경의 결과로 여성은 알을 낳지 않고 생리를 멈추지 만 여성 호르몬, 에스트로겐 및 호르몬의 생성을 감소시킵니다.

여성 건강 : 요로 감염을 예방하는 방법 - 인형

여성 건강 : 요로 감염을 예방하는 방법 - 인형

요로 감염 (UTI)은 상당히 여성의 공통점. 통증이있는 ​​배뇨 나 잦은 소변과 같은 요로 감염의 증상을 발견하면 치료를받는 것이 중요합니다. UTI 치료는 일반적으로 항생제의 빠른 과정이지만 전문가의 도움을받는 데는 지체가 있으면 치료 시간이 길어질 수 있습니다. ...

편집자의 선택

Salesforce 조직에서 깨끗한 데이터를 유지 관리하는 많은 회사에서 Salesforce 조직의 깨끗한 데이터 유지 보수

Salesforce 조직에서 깨끗한 데이터를 유지 관리하는 많은 회사에서 Salesforce 조직의 깨끗한 데이터 유지 보수

많은 사람들을 위해 일하는 것과 비슷합니다. 많은 기업들이 혜택을 인식하고 있음에도 불구하고 습관을 버리는 것에 저항합니다. 사람들은 깨끗한 데이터가 시스템에 들어갈 수 있도록 시간을 할애하고 싶지 않지만 같은 사람들은 빨리 작업 할 수 있습니다 ...

Salesforce에서 캠페인을 만드는 방법 - Professional, Enterprise 또는 Unlimited Edition 사용자를 위해 제공되는 인형

Salesforce에서 캠페인을 만드는 방법 - Professional, Enterprise 또는 Unlimited Edition 사용자를 위해 제공되는 인형

Salesforce의 모듈은 마케팅 프로그램을 관리, 추적 및 측정하는 데 사용하는 일련의 도구입니다. 캠페인 레코드는 캠페인 레코드입니다. 수동 또는 자동으로 리드, 연락처 및 / 또는 기회 레코드에 링크하여 캠페인에 대한 실제 메트릭을 제공 할 수 있습니다.

편집자의 선택

표시 관련 기사 Joomla 웹 사이트 - 인형

표시 관련 기사 Joomla 웹 사이트 - 인형

Joomla의 또 다른 멋진 모듈은 기사 - 관련 기사. 기사 - 관련 기사는 사이트 방문자가 보려고 선택한 기사와 관련된 기사를 표시하는 모듈입니다. 이 모듈은 현재 기사와 관련된 기사를 어떻게 알 수 있습니까? 그것은 메타 데이터에 입력 할 수있는 메타 데이터 키워드를 사용합니다 ...

Joomla의 저자, ​​편집자 및 발행인 계정 만들기 - 더미

Joomla의 저자, ​​편집자 및 발행인 계정 만들기 - 더미

Joomla는 세 가지 프런트 엔드 사용자, 백엔드 사용자 및 그 중간에있는 특수 클래스의 사용자 클래스가 있습니다. 이 클래스에는 3 개의 사용자 그룹이 있습니다. 작성자는 기사를 제출할 수 있습니다. 편집자는 새 기사를 제출하고 기존 기사를 편집 할 수 있습니다. 게시자는 새 기사를 제출하고 기존 기사를 편집하며 기사를 게시 할 수 있습니다. Joomla 사이트 작성자 작성 ...