2017-12-09 4 views
-2

データセットD1、...、D100があり、変数y1、...、y100を作成したいと思いますyi = mean(Di $ z)ここで、zは、D1、...、D100のそれぞれに存在する変数です。x1、...、x100に依存する変数y1、...、y100を定義する便利な方法

私は

(I 1:100)のための

試み{割り当てる(paste0を( "Y"、i)は、平均(ジ$ Z))} 及びため (I 1:100){ (paste0( "y"、i)、mean(paste0( "D"、i、 "\\ $ z")))}} しかし何も指定しないでください。

ありがとうございます!

+0

あなたの質問に[最小限再現可能な例](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)を含めると、回答が得られる可能性が高くなります。 – jsb

答えて

0

Rでは、「標準」プログラミング言語とは異なる処理が可能です。変数を使用する代わりに、既存の命名規則を少し変更してください。D1..D100 100人のメンバーを持つリストDを作成しましょう。

リストにデータフレームを簡単に割り当てることができます。例えば。 D[[1]] <- data.frame(...)D[[5]] <- read.csv(...)又は

# make results reproducible 
set.seed(123) 
# create a list with 100 empty components 
D <- vector("list", 100) 

# creation of 100 data frames with test data in columns x, y and z 
# we'll use column z to calculate mean 
D <- lapply(seq(1,100,1), function(i) D[[i]] <- 
      data.frame(x=sample(10,100,T), y=sample(10,100,T), z=sample(10,100,T))) 

# now it's easy to calculate means 
means <- lapply(1:100, function(i) mean(D[[i]]$z)) 
means[[42]] 
# [1] 5.38 

変数(リスト)D[[55]] <- whatever you did to get data into D1..D100means 100はデータセットの各々の値を保持します。あなたはmeans[[i]]構文を使って手段にアクセスできます。例えば。 D42の平均値を得るにはmeans[[42]]と入力してください。

関連する問題