2017-08-22 17 views
0

このタイトルをどのように集約するのかよくわからないので、タイトルの漠然とした謝罪です。私の問題はもっと複雑です(私は思います)。forループを使用して多数のデータの入力を促します

私はコードを書いてみる必要があるので、生データを入力して、コードを書いたらRが自分の統計分析を少しでもやってくれます。

これは段階的に行われなければならず、その時点で私は標準曲線を作成するための関数を作成しようとしています。

私の最初の障害は、繰り返しの順番でデータ行を入力するように促すために使用しているforループです。 、これを修正するには

for(x in c(1:3)){ 

assign(paste("rep", x, sep = ""),readline("Enter Dataset")) 

} 

:私はそれが入力に私を促したデータの非数値リストを返し、次のコードを使用している。このため

rep1 = c(1,2,3,4) 
rep2 = c(1,2,3,4) 
rep3 = c(1,2,3,4) (as an example) 

:私は返すようにコードをしたいと思います

for(x in c(1:3)){ 

as.numeric(unlist(strsplit(assign(paste("rep", x, sep = ""), 
readline("Enter Dataset")), ","))) 

} 

しかし、このコードは、単に最初のコードI入力私のデータと同じレスポンスを返す次のように私は、数値ベクトルを得ることがas.numeric()コマンドを試してみました。

誰かが別の方法を提供したり、上記のように数値ベクトルを返すように2番目のコードを取得することはできますか。

Enter Dataset 1 
Enter Dataset 2 
Enter Dataset 3 

をループが要求されているためにその反復に依存:

純粋に審美的な添加物として、私は次のようにデータを要求することもコードたいです。

これは私のコードを簡略化したものですが、実際にはもっと多くの複製があります。これらはそれぞれの実験によって異なります。私はこれを考慮に入れてコードすることができますが、この単純化されたバージョンほどきれいではありません。

多くのありがとうございます。

+1

:以下のコードを試してみてくださいa/24376207/903061)を参照してください。 – Gregor

答えて

0

as.numericで行全体をラップした理由はわかりません - readline()関数は入力を読み込む関数です。 https://stackoverflow.com/(これは、[Iは、データフレームのリストを作るにはどうすればよい]を参照assign`と `` GET`よりも名前のリストを操作するために、通常は簡単です

for(x in c(1:3)){ 
    assign(paste("rep", x, sep = ""), 
     as.numeric(unlist(strsplit(readline(paste(c("Enter Dataset ", x, ": "), collapse = "")), ",")))) 
} 
+0

私が欲しかったのとまったく同じでした。 –

関連する問題