У меня есть данные
field1 field2 field3 field4 field5 field6 field7 field8
text text1 segment_1 31-Jan-13 2.7 0.21 1.44 1.29
text text1 segment_1 01-May-13 0.7 2.90 0.76 0.38
text text1 segment_1 31-Jul-13 -2.3 -0.95 -1.73 -1.95
Первые три поля являются составным ключем, мне нужно на основании уникального составного ключа последовательно сделать подмножество (subset) данных.
Если это делать в цикле по одному полю все работает
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
Как можно решить подобную задачу?