-1
FindReplace
과 유사한 함수를 찾고 있는데, 단일 값이 아닌 벡터를 기반으로 값을 매핑 할 수 있습니다.R 벡터와 값 매핑
데이터 프레임에 값을 매핑하는 데 사용하는 것처럼 보이는 조회 테이블이 있습니다.
Headers: COLUMN_NAME, CODE, DESCRIPTION
Row1: arrmin, 97, Officially Cancelled
Row2: arrmin, 98, Unknown if Arrived
Row3: atmcond, -1, Blank
Row4: atmcond, 0, No Additional Atmospheric Conditions
이 조회 테이블 행의 수천이있다, 그래서 수동으로 입력 할 수없고, 내 원래의 솔루션은 너무 비효율적이며 실행하는 일이 소요됩니다.
(또는 존재하지만 많은 값)
값 0-100 등에서 97에서 변경된 값 공식적 취소해야하는 등 arrmin
atmcond
과 같이 I는 수백 개의 컬럼을 갖는다 사용하고있는 dataframe, 이 열을 기반으로 변경하십시오.이 코드는 아래에 작성했지만 실제로는 비효율적이며 300K 행을 실행하는 데 며칠이 걸립니다.
columnsToReplace <- which(colnames(CRASH) %in% CapitalColumns)
dfColumns <- colnames(CRASH)
for (i in columnsToReplace){
tempColumn <- dfColumns[i]
tempLookup <- capitalLookupTable[which(capitalLookupTable$COLUMN_NAME ==tempColumn),]
CRASH <- FindReplace(data=CRASH,Var=tempColumn,replaceData = capitalLookupTable,
from = "Code",to = "Description",exact=T)
}
columnsToReplace