제목이 내가 원하는 것처럼 명확하지 않을 수 있으므로 내가하려는 일의 예를 들려주십시오. 이 재현 코드가없는,하지만 도움이 될 경우 내가 재현 예를 추가 할 수 있습니다if 문에서 dplyr 조건부에 필터를 사용하십시오. R
library(dplyr)
if(this_team != "") {
newdf <- mydf %>%
filter(team == this_team) %>%
mutate(totalrows = nrow(.)) %>%
group_by(x1, y1) %>%
summarize(dosomestuff)
} else {
newdf <- mydf %>%
filter(firstname == this_name & lastname == that_name) %>%
mutate(totalrows = nrow(.)) %>%
group_by(x1, y1) %>%
summarize(dosomestuff)
}
내가 mydf의 dataframe에 일부 데이터 조작을하지 R에서 함수를 만드는 오전. 함수의 team_name 매개 변수에 값을 전달하면 'team'열을 사용하여 데이터 프레임을 필터링하고 싶습니다. team_name 매개 변수에 값을 전달하지 않으면 기본적으로 ""로되어 있고 대신 mydf의 'firstname'및 'lastname'열에 해당하는 this_name 및 that_name 값을 전달합니다.
두 개의 별도 if else 문에서 전체 dplyr 파이프 라인을 다시 생성하지 않고이 작업을 수행하는 더 좋은 방법이 있습니까? 코드의 실제 파이프 라인은 각각 4 줄보다 훨씬 길기 때문에 이와 같은 코드를 재현하는 것은 상당히 실망 스럽습니다.
을 didnt의 정맥에 관을 저장 할 수 파이핑 중간에 if() 문이 있습니다. 감사! – Canovice