事前にこの質問をお詫び申し上げますが、私はかなり一生懸命見ていて、解決策を見つけることができませんでした。
変数のforループによって生成された値はどのようにすればよいですか?
例えば:
myfunction <- function(x=1:5) {
for(i in 1:length(x)) {
r<-x[i]
}
print(r)
}
上記のコードを実行すると、xの最後の値(この場合は5)のみが取得されます。これは、forループを介して毎回rを上書きしているためです。
私も試しました:
myfunction <- function(x=1:5) {
for(i in 1:length(x)) {
r[i]<-x[i]
}
print(r)
}
しかし、私はまだ最後の値を取得します。
私が見つけた唯一の解決策は、r <-numeric(length)を使用する前に、生成された値を保持する変数の長さを指定することです。
myfunction <- function(x=1:5) {
r<-numeric(5)
for(i in 1:length(x)) {
r[i]<-x[i]
}
print(r)
}
しかし、事前に返されるベクトルの長さがわからない場合、このソリューションは明らかに不十分です。
助けてくれてありがとう!