У меня проблема с сохранением результатов из цикла for, и, вероятно, я ошибаюсь. Я пытаюсь использовать цикл for, чтобы взять первую букву из двух столбцов, и если любой из них является Т, то дайте значение для 'trail.type' 'foraging', иначе укажите значение «internest». Этот код работает для этого, но затем, когда я просматриваю каждый из кадров данных, столбец не был добавлен. Кто-нибудь знает, почему это может быть?сохранение результатов из цикла for
код я использую:
dfs <- Filter(function(x) is(x, "data.frame"), mget(ls()))
for (name in dfs){
name$fromf<-substr(name$from,1,1)
name$tof<-substr(name$to,1,1)
name$trail.type <- ifelse(name$fromf=='T', "foraging",
ifelse(name$tof=='T', "foraging",
'internest'))
name$fromf <- NULL
name$tof <- NULL
}
данные я использую:
from to strength
N1 N2 1.67
N1 T1 1.11
N2 N3 0.67
N3 N4 1.00
N3 N5 0.29
N5 N6 5.00
Просьба воспроизводимый пример? –
Попробуйте 'name $ trail.type <- ifelse (grepl ("^T ", name $ from) | grepl ("^T ", name $ to)," foraging "," internest ")' –
Ваш код работает для me: 'trail.type' добавляется в' name'? – Phil