次のようなよりクリーンなバージョンの提案はありますか?出力は、以下に示すように、2列のdata.frameでなければなりません。ユーザは、「どのくらいの濃度ですか?」という回答を入力します。この番号の行列を作成する必要があります(yとして保存されます)。そして、それぞれの濃塩酸の値は、あなたはすべてのそれらのIFSを必要としないと、私はあなたがreadlineをするのではなく、スキャンを使用することをお勧めしますR:データフレームへの特定のユーザー入力
x <- as.numeric (readline(prompt="How many concs?: "))
if(x == 6) {
y <- c("conc 1","conc 2","conc 3","conc 4","conc 5", "conc 6")
a <- as.integer(strsplit(readline(prompt="enter 6 numbers separated by
space: "), " ")[[1]])
cbind(y,a)
}
if(x == 5) {
y <- c("conc 1","conc 2","conc 3","conc 4","conc 5")
a <- as.integer(strsplit(readline(prompt="enter 5 numbers separated by
space: "), " ")[[1]])
cbind(y,a)
}
if(x == 4) {
y <- c("conc 1","conc 2","conc 3","conc 4")
a <- as.integer(strsplit(readline(prompt="enter 4 numbers separated by
space: "), " ")[[1]])
cbind(y,a)
}
if(x == 3) {
y <- c("conc 1","conc 2","conc 3")
a <- as.integer(strsplit(readline(prompt="enter 3 numbers separated by
space: "), " ")[[1]])
cbind(y,a)
}
if(x == 2) {
y <- c("conc 1","conc 2")
a <- as.integer(strsplit(readline(prompt="enter 2 numbers separated by
space: "), " ")[[1]])
cbind(y,a)
}
if(x == 1) {
y <- c("conc 1","conc 2")
a <- as.integer(strsplit(readline(prompt="enter 1 number: "), " ")
[[1]])
cbind(y,a)
}
たぶん 'switch'を見てみましょうか? – lmo