데이터 프레임에 적용될 변환을 계산하고 다른 몇 가지 조건을 기반으로 값 (또는 NA)을 반환하는 재사용 가능한 함수를 만들려고합니다. 변수. 이것은 함수에서 다중 조건부 계산을 만드는 첫 번째 시도입니다.데이터 프레임에 적용되는 함수로 변수 계산 R
먼저 유형별 var 인 parentID라는 var를 살펴볼 것입니다. 값 377 만 다르게 계산됩니다. 두 개의 vars 리드와 클릭의 값을보고 값이 1보다 큰지 확인합니다. 그렇지 않으면 NA를 반환합니다. 그런 다음 리드 또는 판매가 더 큰지를 결정하고 더 큰 것을 기반으로 계산을합니다.
계산은 간단하다 :
apply(df, 1, set_cr)
: X의 $ 판매/X $ 클릭 또는 X의 $ 리드/X는 $는
set_cr <- function(x) {
if (x$parentID==377) {
if (x$leads < 1 | x$clicks < 1) {
return(NA)
}
else {
if (x$leads > x$sales) {
cr <- x$leads/x$clicks
return(cr)
}
else {
cr <- x$sales/x$clicks
return(cr)
}
}
}
else {
if (x$parentID != 377) {
if (x$sales < 1 | x$clicks < 1) {
return(NA)
}
else {
cr <- x$sales/x$clicks
return(cr)
}
}
}
return(NA)
}
은 그때 사용하여 데이터 프레임이 적용하고 클릭 콘솔에 인쇄 된 값을 보려고했지만 많은 오류가 발생하고 여러 리소스를 검색하고 검사 한 후에 디버깅 할 수 없었습니다. 여기에서 데이터 프레임에 x $ cr var를 만드는 데이 방법을 사용했습니다. 이 질문에 대해 설정
샘플 데이터 :
structure(list(parentID = c(377, 377, 311, 322, 333), clicks = c(9078,
78404, 398443, 16142, 111715), sales = c(69, 95, 7191, 146, 33966
), leads = c(500, 0, 500, 0, 33966)), .Names = c("parentID", "clicks",
"sales", "leads"), row.names = c(NA, 5L), class = "data.frame")
parentID clicks sales leads
377 9078 69 500
377 78404 95 0
311 398443 7191 500
322 16142 146 0
333 111715 33966 33966
알려 나는이를 편집 할 수 있습니다 주시기 바랍니다이 데이터 예제를 공유 할 수있는 더 좋은 방법이 있다면. 패키지를 리콜했지만 rseek 또는 재사용 가능한 데이터 세트에 대해 냉소적으로 찾을 수 없습니다.
미리 감사드립니다.
재현 가능한 예를 들면'head (dput (youredataframe), n = 10)' –
@SanderVanderZeeuw Dput 주셔서 감사합니다. 나는 그것이 d로 시작했지만 그것을 기억할 수 없다는 것을 알았다. – dotcomken