Я новичок в кодировании и пытаюсь написать все oop. Я пробовал разные способы, но все еще не нашел решения.
Используя приведенные ниже примеры данных, я хочу, чтобы мой l oop:
- Посмотрите на S $ Я БЫ.
Найдите все S $ ID, которые соответствуют и: A1) Сравните все Label_Chr, записанные для этого идентификатора, с Master_DataFrame $ Label_Chr A2) Определите все те, которые отсутствуют. A3) Для тех, кто отсутствует, добавьте новую строку в Data.Frame S, заполненную: Bird_ID, Missing Label_Chr и Columns Duration и Count как 0.
Продолжайте цикл до тех пор, пока все не будут сопоставлены группы завершены
Below are examples of the data:
----------------------------------
Data.Frame S
*ID* *Label_Chr* *Duration* *Count*
OP_Pen12_R_30mins Walk. 3.310 1
OP_Pen12_R_30mins Run. 0.250 1
OP_Pen12_R_30mins Talk. 1.960 1
OP_Pen12_R_Immediate Sit. 1.830 1
OP_Pen12_R_Immediate Talk. 3.850 2
-------------------------------------
Master_DataFrame
*Label_Chr*. *Duration* *Count*
Walk. 0 0
Run 0 0
Sit 0 0
Talk 0 0
----------------------------------
The end S data frame would look like this:
*ID* *Label_Chr* *Duration* *Count*
OP_Pen12_R_30mins Walk. 3.310 1
OP_Pen12_R_30mins Run. 0.250 1
OP_Pen12_R_30mins Talk. 1.960 1
OP_Pen12_R_30mins Sit. 0 0
OP_Pen12_R_Immediate Sit. 1.830 1
OP_Pen12_R_Immediate Talk. 3.850 2
OP_Pen12_R_Immediate Walk. 0 0
OP_Pen12_R_Immediate Run. 0 0
Я пробовал разные вещи, такие как:
k <- 1
for(i in 1:length(S))
for (ii in 1:length(MasterBehaviours))
{Bird_Comparison <- strcmp(S[i,1], S[i+1,1])
Behaviour_Comparison <- strcmp(S[i,3], MasterBehaviours[ii+1,1]) }
if(Bird_Comparison == TRUE & Behaviour_Comparison == FALSE) # {print(Bird_Comparison)
{ZZ <- rbind(S, MasterBehaviours[1+k,1])}
print(ZZ)}
А также:
for(i in 1:length(S[,]))
{x <- S[i,1]
y <- S[i+1,1]
labelCheck <- (x==y)}
if(labelCheck == TRUE)
{Behaviour_Comparison <- strcmp(S[i+1,3], MasterBehaviours[1+k,1])}
if (Behaviour_Comparison == FALSE)
{rbind(S, MasterBehaviours[1+k,1])
print(S)}
Не много происходит с приведенным выше кодом. Для первой попытки ZZ не создан, я получаю это:
Ошибка печати (ZZ): объект 'ZZ' не найден
И для второй блок: я получаю две ошибки:
Ошибка в if (labelCheck == TRUE) {
отсутствует значение, при котором требуется TRUE / FALSE