제목에 불편을 끼쳐 드려 죄송합니다. 나는 다음과 같은 dataframe DF1 있습니다열과 목록 일치
다음id1 clas1 clas2 clas3
512 ns abx NA
512 ns or NA
512 abx dm sup
845 or NA NA
1265 dd ivf NA
1265 ns ivf pts
9453 col ns ivf
9453 abx ns or
95635 ns abx or
내가 열이 다른에 다음과 같은 정보를 (DF1의 $의 ID 1의 값 중 일부는 DF2의 $의 ID2와 viceversa에 포함되어 있습니다)이 "DF2"가 데이터 세트 또는 첫 번째 것과 다른 길이. 내가 뭘하려고 오전
id2 clas0
102 ns
512 ns
915 ns
1265 ns
9453 ns
10485 ns
95639 ns
100348 ns
는 "ID1"는 CLA를 열 (즉, "NS")의에 ID2와 공통의 값 (즉, "NS")를 얼마나 많은 계산하는 것입니다.
그래서 나는이 시도 :x<-as.numeric(levels(factor(df2$id2)))
clas<-ls()
for(i in 1:x){
for(j in 1:length(df1$id1)){
if(df1$id1==i){clas[[i]]=append(clas[[i]],c(df1$clas1[j],df1$clas2[j],df1$clas3[j]))}
}
}
내가 여기서 뭘하려고하는 ID1이 반복 될 때 나는 나중에 참조 할 수 있도록 모든 clas1, clas2 또는 clas3 포함 목록을 만들 때 clas0의 값이 목록의 어딘가에 포함되어 있습니까?
In if (id1$id1 == i) { ... :
the condition has length > 1 and only the first element will be used
내가 끼 었어 : 그러나 나는 다음과 같은 경고가 계속. 누군가가 올바른 방향으로 나를 가리킬 수 있을까요? 많은 감사 마르코
나는 확실히 당신이 뭘하려는 건지 이해하지 않지만, 오류가'경우에서 아마. 'if'가 벡터를 반환하지 않으면, 단일 T/F 값을 반환합니다. 당신은 'df $ id' 벡터를'Tf $ id'의 각 요소에 대해 T/F를 반환해야하는'i'와 비교할 때 하나의 T/F가 아닌'df $ id' 벡터를 비교하려고합니다. – TheComeOnMan
출력이 어떻게 생겼는지 예를 들어 주시겠습니까? –