홈>
질문이 있습니다. 사용자 입력에 따라 다른 데이터 프레임 (A-F)을 만드는 많은 if 문이 있습니다. 경우에 따라 일부 데이터 프레임이 비어 있으므로 (A-C)는 비어 있지만 (D-F)에는 정보가 있습니다.
데이터 프레임이 비어 있지 않은 경우에만 행을 결합하는 조건부 rbind ()를 만들려고합니다.
이 문제를 어떻게 해결할지 잘 모르겠습니다. 여러 가지 조건을 작성하고 다른 if 문을 사용 해야하는지 모르겠습니다.
cond_a <- nrow(a) != 0
cond_b <- nrow(b) != 0
cond_c <- nrow(c) != 0
cond_d <- nrow(d) != 0
cond_e <- nrow(e) != 0
cond_f <- nrow(f) != 0
그런데 이러한 조건을 어떻게 활용해야할지 모르겠습니다 ...
편집 : 한 걸음 물러서서 더 잘 설명하려면 : 열로 하위 설정하여 6 개의 다른 데이터 프레임으로 분할하는 하나의 데이터 프레임이 있으므로 6 개의 데이터 프레임 (A-G)으로 분할됩니다. 이 열에는 문자 A-G가 있습니다. 해당 열의 문자 A-G는 사용자 입력에 따라 변경됩니다.
그런 다음 "A가 비어 있지 않으면이 집계를 수행하십시오"라는 일련의 if 문이 있으므로 df에 데이터가없는 경우 df를 건너 뜁니다. 집계에는 16-19 개의 열이 사용됩니다. 빈 df가 집계되지 않았으므로 여전히 19 개의 열이 있습니다. 이러한 if 문과 집계를 수행 한 후에는 집계되었거나 (16 열) 여전히 비어있는 (df 열, 19 열) dfA, dfB, dfC 등이 남았습니다. 그런 다음 "집계 된 df (16 열) rbind의 경우 df가 집계되지 않은 경우 (비어있는 경우) rbind를 수행하지 마십시오.감사합니다!
- 답변 # 1
다음과 같이 할 수 있습니다 :
<올>선택하려는 데이터 프레임의 빈 목록을 만듭니다.
와이즈 비츠 무리 쓰기 0이 아닌 0을 포함하는 단어 확인
1 단계에서 만든 빈 목록에 0이 아닌 DF 이름을 계속 추가
이 이름을
if
로 축소하는 표현식을 작성하십시오. 표현표현식 평가
여기에 스크립트가 있습니다 :
1. 데이터 프레임의 이름을 저장할 빈 목록 만들기
2&3. 문이 데이터 프레임이 제로가 아닌지 확인하는 경우 true 인 경우 이름을 목록에 추가하십시오
.... A부터 G까지
4. 식을 공식화
5. 표현식 평가
eval(parse(text=expression))
찾고있는 최종 데이터 세트가됩니다df.combined