Я пытаюсь передать значение существующего атрибута R (столбца) как значение, необходимое для идентификации конкретного столбца в массиве, который я хочу выбрать.Ранее я писал цикл For с оператором IF, но он работает очень медленно.
Каждый человек будет иметь членство в группе (1, 2 или 3).У меня есть вероятность их членства в группе в данных $ prob1, данных $ prob2 и данных $ prob3.
Я хочу передать значение данных $ Group следующим образом:
data $ ClstrAffinity = data $ Prob [, data $ Group]
, но оно не работает.Есть идеи?
Код медленного выполнения приведен ниже.
Спасибо.
data$ProbOne = data$Prob[ , 1]
data$ProbTwo = data$Prob[ ,2]
data$ProbThree = data$Prob[ ,3]
data$GroupMembershipNumeric = as.numeric(data$Group)
data[data$Group == 1]
for (a in c(1:nrow(data))) {
groupMembership = data$GroupMembershipNumeric[a]
if (groupMembership == 1) {
data$ClstrAffinity[a] = data$ProbOne[a]
}
if (groupMembership == 2) {
data$ClstrAffinity[a] = data$ProbTwo[a]
}
if (groupMembership == 3) {
data$ClstrAffinity[a] = data$ProbThree[a]
}
print(groupMembership)
groupMembership = NULL
}