나는 몇 가지 필드 (필드 1, FIELD2, FIELD3)R 루프에 의해 데이터 세트에 고유의 복합 키
field1 field2 field3 field4 field5 field6 field7 field8
1 text text1 segment1 31-Jan-13 2.70 0.21 1.44 1.29
2 text text1 segment1 01-May-13 0.70 2.90 0.76 0.38
56 text text3 segment2 01-May-14 -1.50 -1.97 -1.79 -3.51
나는에 의해 그렇게 할 때 키로서 사용하여 데이터를 선택하는 루프를 만들기 위해 노력하고있어 한 열은 작동 :
for (j in 1:length(unique(InputData[,3]))) {
InputDataSubset <- InputData[InputData[,3] == unique(InputData[,3])[j],]
print(unique(InputData[,3])[j])
print(InputDataSubset)
}
내가 몇 열을 기준으로 그렇게하려고하면 :
for (j in 1:length(unique(InputData[,1:3]))) {
InputDataSubset <- InputData[InputData[,1:3] == unique(InputData[,1:3])[j,],]
print(unique(InputData[,3])[j])
print(InputDataSubset)
}
나는 오류 메시지를 받았습니다 :
Error in Ops.data.frame(InputData[, 1:3], unique(InputData[, 1:3])[j, :
‘==’ only defined for equally-sized data frames
어떻게 이러한 문제가 해결 될 수 있습니까? 미리 감사드립니다. 결과를 작업 아닐
위한
'분할 (DF, DF [C ("필드 1", "2 필드")])'. – Frank
'dplyr :: group_by'도 사용할 수 있습니다. – r2evans
또는'by (DF, DF [, c ("field1", "field2")], FUN = function (df) df)' – Parfait