私は多くのパラメータを持つデータフレームを持っています。簡単にするために、私は3列の例を作った。最初のものは単位で構成され、2番目のものは与えられたパラメータで構成され、3番目のものは計算された数で構成されます。私が欲しいものは次のとおりです: - ユニットと数値を保存するのに適した方法 - パラメータを変更してテーブルを作成する関数です(風速3と4m/sの2番目の例のように)。パラメータの風速と密度を同時に変更する関数を追加することは涼しいでしょう。 私はいくつかのコードが動作します。残念ながら、私は行ごとにそれを処理する必要があります。 20種類の風速のために、それは私が考える不必要な仕事の多くです。私はすでに私が欲しいものを取得する必要がどのような関数による計算(エラー:オブジェクトが見つかりません)
aa <- as.data.frame(matrix(seq(100),nrow=6,ncol=3))
aa$V1 <- c("v (m/s)","Cd()", "d (m)", "A (m^2)", "N/(W*L)", "V(m/s)")
aa$V2 <- c("1", # v
"2", # Cd
"3", # d
"4", # MW/km^2
"5", # Height
"6" # coefficient
)
aa$V3[1] <- as.numeric(as.numeric(aa[4,2])^2)
aa$V3[2] <- as.numeric(as.numeric(aa[1,2]) + as.numeric(aa[2,2]))
aa$V3[3] <- as.numeric(as.numeric(aa[1,2]) * as.numeric(aa[2,2]))
aa$V3[4] <- as.numeric(as.numeric(aa[1,2]) + as.numeric(aa[2,2]) +
as.numeric(aa[3,2]))
aa$V3[5] <- as.numeric(as.numeric(aa[2,2]) + as.numeric(aa[2,3]))
aa$V3[6] <- as.numeric(as.numeric(aa[1,3]) + as.numeric(aa[2,3]))
はこれです:
speed_vector <- c("w_sp_3" = 3, "w_sp_4" = 4)
make_speed <- function(x)
{
V1 <- c("v (m/s)","density (kg/m^3)","Cd()", "d (m)", "A (m^2)", "N/(W*L)",
"V(m/s)")
V2 <- c(speed_vector[x], # v
"1", # density
"2", # Cd
"3", # d
"4", # MW/km^2
"5", # Height
"6" # coefficient
)
V3 <- c(as.numeric(as.numeric(V2[4])^2),
as.numeric(as.numeric(V2[1]) + as.numeric(V2[2])),
as.numeric(as.numeric(V2[1]) * as.numeric(V2[2])),
as.numeric(as.numeric(V2[1]) + as.numeric(V2[2]) + as.numeric(V2[3])),
as.numeric(as.numeric(V2[2]) + as.numeric(V3[2])),
as.numeric(as.numeric(V3[1]) + as.numeric(V3[2])))
zz <- data.frame(V1,V2,V3)
return(zz)
}
w_speed_3 <- make_speed("w_sp_3")
w_speed_4 <- make_speed("w_sp_4")
は、今私は、次のGET:
"Error in make_speed("w_sp_3") : object 'V3' not found".
間違いを見つけるために私を助けてください。
は、私は本当にあなたがので、私はあまり助けることができない何をしようとして理解していないが、あなたの 'make_speed'機能でV3''の作成にあなたが参照しています最後の2行で「V3」に変更されます。 'V3'はまだ定義されていないので、見つからず、エラーになります。 –
はい、あなたのV3の割り当てで、あなたはV3を参照しています。 – Balter
@OriolMirosa:あなたの答えに感謝します。私は、パラメータを変更して計算を行い、これをリスト、data.frameなどに格納しようとします。 – Baldrian