code1<-c("AAA","BBB","DDD","EEE","FFF")
200 個のアルファベット コード、2 個のアルファベット コードcode2<-c("Yyy","Zzzzz")
、および 41 個の数値コードに従って分類された 1 つの変数を含むデータセットがありますcode3<-seq(1970,2011,1)
。
、 、の一意の値に従って、データの各サブセットから 8 数のベクトルを生成する関数がありcode1
ます。そこで、これらのデータのサブセットごとに数行のコードを実行したいと思います。code2
code3
完全なリストはデータフレームとしてインポートされ、data
現在、データフレームからデータの各サブセットを抽出して分析し、出力を保存することで作業しています
問題は、このスキームに従ってcode1
およびcode2
のすべての値をループするのは面倒なことです。また、単一の出力データ フレームを生成し、8 つの数値を, ,の一意の値と一緒に保存する方がはるかに優れています。そしてそれらを生み出したもの。code3
code1
code2
code3
これは、 code1-code3 および の値のループに頼らずに実行できると確信していますが、初心者なので、assign()
完全にまとめることができないのではないかと心配しています。
ありがとう -- E
追加データ:
これは、私が実行している関数からの出力ベクトルがどのように見えるか、1 つのシリーズに対して手動でサブセット化したものです。
output1<-fxn(data$input,[which(data$code1=='AAA'&data$code2=='Yyy'&data$code3==1990)])
output2<-fxn2(output1)
str(output2$out[,2]): num [1:8] 0.009 0.648 0.304 0.004 0.445 ...
output2$out[,2]: [1] 0.009 0.648 0.304 0.004 0.445 36.720 0.000 1.103
追加データ:
リクエストに応じて、この偽の出力データセットは、私が探しているものとほぼ同じです。ファイルの各行は、関数の 1 回の完了した実行からのものfxn2
です。最初の 8 列は関数によって出力されます。code1
、code2
、の一意の値を区別するために、最後の 3 列が追加されますcode3
。
> head(data)
X.x1 x2 x3 x4 x5 x6 x7 x8 code3 code2 code1
1 0.008 0.595 0.185 0.005 0.173 36.744 0 1.102 1970 male BGR
2 0.004 0.242 0.276 0.005 0.348 46.017 0 1.108 1971 male BGR
3 0.002 0.553 0.242 0.005 0.247 35.424 0 1.107 1972 male BGR
4 0.005 0.593 0.270 0.004 0.312 43.701 0 1.105 1973 male BGR
5 0.009 0.660 0.217 0.005 0.266 37.955 0 1.103 1974 male BGR
6 0.006 0.347 0.297 0.005 0.411 50.959 0 1.108 1975 male BGR
> dput(head(data))
structure(list(X.x1 = c(0.008, 0.004, 0.002, 0.005, 0.009, 0.006
), x2 = c(0.595, 0.242, 0.553, 0.593, 0.66, 0.347), x3 = c(0.185,
0.276, 0.242, 0.27, 0.217, 0.297), x4 = c(0.005, 0.005, 0.005,
0.004, 0.005, 0.005), x5 = c(0.173, 0.348, 0.247, 0.312, 0.266,
0.411), x6 = c(36.744, 46.017, 35.424, 43.701, 37.955, 50.959
), x7 = c(0, 0, 0, 0, 0, 0), x8 = c(1.102, 1.108, 1.107, 1.105,
1.103, 1.108), year = 1970:1975, sex = structure(c(1L, 1L, 1L,
1L, 1L, 1L), .Label = "male", class = "factor"), iso3 = structure(c(1L,
1L, 1L, 1L, 1L, 1L), .Label = "BGR", class = "factor")), .Names = c("X.x1",
"x2", "x3", "x4", "x5", "x6", "x7", "x8", "year", "sex", "iso3"
), row.names = c(NA, 6L), class = "data.frame")