1

ループを介してデータ フレームにデータを入力しようとしています。ある程度成功しましたが、関数内でそのループをバインドできませんでした

iterations = 34
variables = 6
v_log <- matrix(ncol=variables, nrow=iterations)

for (i in 1:34)
{
    v_log[i,]<-c(1,"c1", "c2","c3", "c4", "c5")
}
v_log1=as.data.frame(v_log)

しかし、関数内でそれらをバインドしようとすると、

f1<- function() {

iterations = 34
variables = 6
v_log <- matrix(ncol=variables, nrow=iterations)

for (i in 1:34)
{
    v_log[i,]<-c(1,"c1", "c2","c3", "c4", "c5")
}
v_log1=as.data.frame(v_log)
}

関数の実行時には、f1() のように何も入力されません。

助けてください。

4

1 に答える 1

1

結果を出す必要がありそうです。f1 の出力を名前付きオブジェクトに割り当てる必要があります。そうしないと、ガベージ コレクションが行われます。関数型プログラミングへようこそ。SAS/SPSS マクロ プロセッサ ドメインを離れました:

> test <- f1()
> str(test)
'data.frame':   34 obs. of  6 variables:
 $ V1: Factor w/ 1 level "1": 1 1 1 1 1 1 1 1 1 1 ...
 $ V2: Factor w/ 1 level "c1": 1 1 1 1 1 1 1 1 1 1 ...
 $ V3: Factor w/ 1 level "c2": 1 1 1 1 1 1 1 1 1 1 ...
 $ V4: Factor w/ 1 level "c3": 1 1 1 1 1 1 1 1 1 1 ...
 $ V5: Factor w/ 1 level "c4": 1 1 1 1 1 1 1 1 1 1 ...
 $ V6: Factor w/ 1 level "c5": 1 1 1 1 1 1 1 1 1 1 ...
于 2013-07-20T16:32:21.813 に答える