問題があります。私が持っていることは次のとおりです。私が欲しいものエラー:分位関数によるデータフレームの受け渡し
dec_amt <- function(x, k) format(round(x, k), nsmall=k) # Formatting decimal places
example.df <- data.frame(replicate(8,sample(0:100000,1000,rep=TRUE)))
names(example.df) <- c("AF", "CD", "CS", "ED", "LP", "PI", "RR", "TD")
probTab_test2 <- function(x = c(...), y=c(...), z=c(...))
{
m.TABLE <- list()
EXP <- list()
PROB <- c(seq(.10, .90, .10), seq(.91,.99,.01), seq(.995, .999, .001))
PERIOD <- dec_amt(1/(1-PROB), 2)
for (i in 1:(length(z))) {
if (length(z) == 1)
{
break
}
EXP <- quantile(example.df[,z[i]], PROB)
EXP <- formatC(EXP, format='d', big.mark=',')
m.TABLE <- list(data.frame(PERIOD, EXP))
print(m.TABLE)
}
EXP <- quantile(example.df[,z], PROB)
EXP <- formatC(EXP, format='d', big.mark=',')
TABLE <- data.frame(PERIOD, EXP)
return(TABLE)
}
probTab_test2(c("Consumer Products"), c("All Revenues"),c("TD", "LP"))
Error in `[.data.frame`(x, order(x, na.last = na.last, decreasing = decreasing)) :
undefined columns selected
は、引数zの長さは、zのすべての要素のために、その後> 1であれば、私はそれは私がにバインドできる「EXP」列を作成したい、ですdataframe(m.TABLEと定義されています)ので、最後には、z個のデータフレームのリストがあります。
私はquantile関数がベクトルの代わりにデータフレームを通過するのはうれしくないが、このループでそれを回避する方法はわからないと思う。提案はすばらしいことになり、さらに詳しい情報を提供することができます。
注 - x、y引数は無視してください。これらの引数は外部関数を呼び出すために使用されますが、この問題では特に注意してください。
'quantile()'はデータフレーム用ではありません。 'library(" fortunes ");運勢(85) ' – jogo
この問題の回避方法はありますか?どういうわけか、example.dfの問題から 'z'列の指定された各要素をベクトルとして抽出し、 'quantile()'に渡すことはできますか?今、私はデータフレームとしてそれをつかんでいます。 – S31