Поскольку ваши activities
уже отсортированы и имеют без пробелов , вы можете использовать номер в activity_label
direct как index , чтобы получить активность .
activities$activity[new_data$activity_label]
#[1] "WALKING_UPSTAIRS" "STANDING" "WALKING_DOWNSTAIRS"
#[4] "STANDING" "SITTING" "WALKING"
В случае, если действия не отсортированы и имеют пробелы, вы можете создать таблицу поиска и использовать ее для получения действий по номерам:
activity <- "[<-"(NA, activities$key, activities$activity)
activity[new_data$activity_label]
#[1] "WALKING_UPSTAIRS" "STANDING" "WALKING_DOWNSTAIRS"
#[4] "STANDING" "SITTING" "WALKING"
Данные:
activities <- read.table(header=TRUE, text=" key activity
1 1 WALKING
2 2 WALKING_UPSTAIRS
3 3 WALKING_DOWNSTAIRS
4 4 SITTING
5 5 STANDING
6 6 LAYING")
new_data <- read.table(header=TRUE, text=" subject activity_label
1 1 2
2 1 5
3 1 3
4 1 5
5 1 4
6 1 1")