forループから結果を保存する際に問題があり、おそらく非常に基本的な間違いです。私は2つの列から最初の文字を取るためにforループを使用しようとしていて、どちらかがTならば、 'foraging'の 'trail.type'の値を与え、そうでなければ '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
は、再現性の例を提供してください? –
'$ trail.type < - ifelse(grepl("^T "、name $ from)| grepl("^T "、" $ for "、" foraging "、" internest ")' –
あなたのコードは私: 'trail.type'が' name'に追加されましたか? – Phil