Мой фрейм данных выглядит так:
df <- data.frame(INFO=c("A;B;C", "B;A;C"), METRICS=c("1;2;3", "4;5;6"))
df
INFO METRICS
1 A;B;C 1;2;3
2 B;A;C 4;5;6
Я пытаюсь поймать значение 'A' для каждой строки, используя apply()
, и сохранить полученный вектор в новом столбце моих исходных данных. frame:
df$M1 <- apply(
df,
1,
function(x){
info <- unlist(strsplit(x[1], ";"))
metric <- unlist(strsplit(x[2], ";"))
for(i in 1:3){
ifelse(
info[i]=="A",
metric[i],
"."
)
}
}
)
Чтобы получить следующий результат:
df
INFO METRICS M1
1 A;B;C 1;2;3 1
2 B;A;C 4;5;6 5
Но новый столбец не создан.