이다 (의 극히 일부)와 데이터 프레임 "DF"에 따라 다른 칼럼의 값을 선택하여 새로운 데이터 프레임 열을 작성인덱스 열 여기
및 색인 열 "indx"(1 < = indx < = 11).
는"INDX"다른 데이터 프레임에 대한 이전의 단계를 통해 얻은 다음에 "DF"합병 : I 값이 "V (INDX하는 새로운 열"VSEL "를 구축 할 필요
> df
v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 indx
1 223 0 95 605 95 0 0 0 0 189 0 10
2 32 0 0 32 0 26 0 0 0 32 0 6
3 0 0 127 95 64 32 0 0 0 350 0 10
4 141 0 188 0 361 0 0 0 0 145 0 3
5 32 0 183 0 127 0 0 0 0 246 0 3
6 67 0 562 0 0 0 0 0 0 173 0 3
7 64 0 898 0 6 0 0 0 0 0 0 3
8 0 0 16 0 32 0 0 0 0 55 0 10
9 0 0 165 0 0 0 312 0 0 190 0 10
10 0 0 210 0 0 0 190 0 0 11 0 7
을) "
(즉 1rst 행이다 : VSEL = 189 인해 INDX = 10 V10 = 189)
I 성공적를 사용하여 결과를 수득"루프 "를 들어
> df
v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 indx vsel
1 223 0 95 605 95 0 0 0 0 189 0 10 189
2 32 0 0 32 0 26 0 0 0 32 0 6 26
3 0 0 127 95 64 32 0 0 0 350 0 10 350
4 141 0 188 0 361 0 0 0 0 145 0 3 188
5 32 0 183 0 127 0 0 0 0 246 0 3 183
6 67 0 562 0 0 0 0 0 0 173 0 3 562
7 64 0 898 0 6 0 0 0 0 0 0 3 898
8 0 0 16 0 32 0 0 0 0 55 0 10 55
9 0 0 165 0 0 0 312 0 0 190 0 10 190
10 0 0 210 0 0 0 190 0 0 11 0 7 190
,451,515,
코드는 다음과 같습니다
df$vsel = NA
for (i in seq(1:nrow(df)) )
{
r = df[i,]
ind = r$indx
df[i,"vsel"] = r[ind]
}
... 나는이 루프를 피하기 위해 같은 것 (그대로 데이터 프레임이 큰 경우 오히려 느리게).
A (빠른) R 형 방법은 아마도 있습니다 :
(DF, 1, ...)를 적용와 아마?
또는 ddply? 당신은 그렇게 할 수
3 가지 답변 모두 잘 진행 중입니다. 여러분 모두에게 정말 감사드립니다. – Phil