2016-05-10 10 views
0

私は同様の質問を検索しましたが、私の場合に該当する答えを見つけることができませんでした。彼らは私が問題を理解するのを助けました - しかし、私はまだそれを修正する方法を知らない。私たちは、当社の予測変数の1に私達の従属変数を回帰した場合、我々はなるだろう予測値をRエラー:as.numeric(適用)のエラー:タイプ 'クロージャー'をタイプdoubleのベクトルに強制できません。

## as.numeric(apply) N=400 
## 
## +-------+-----------+---+----+-------+-----+ 
## |  |   |N |Y>=0|Y>=1 |Y>=2 | 
## +-------+-----------+---+----+-------+-----+ 
## |bekt |1   |337|Inf |-0.3783|-2.44| 
## |  |2...  | 63|Inf | 0.7655|-1.35| 
## +-------+-----------+---+----+-------+-----+ 
## |vstt |1   |343|Inf |-0.2048|-2.35| 
## |  |2...  | 57|Inf |-0.1759|-1.55| 
## +-------+-----------+---+----+-------+-----+ 
## |verwt |1   |102|Inf |-0.3973|-2.77| 
## |  |2   | 99|Inf |-0.2642|-2.30| 
## |  |3...  |100|Inf |-0.2007|-2.09| 
## +-------+-----------+---+----+-------+-----+ 
## |Overall|   |400|Inf |-0.2007|-2.20| 
## +-------+-----------+---+----+-------+-----+ 

それは(線形)が表示されます。 私は順序ロジスティック回帰を行うと、私が欲しいのは、このようなテーブルですよ平行スロープ仮定なしで、 これは私が使用して(私は上記のエラーメッセージを取得する)コードである:

sf <- function(y) { 
c('Y>=0' = qlogis(mean(y >= 0)), 
    'Y>=1' = qlogis(mean(y >= 1)), 
    'Y>=2' = qlogis(mean(y >= 2))) 
    } 

s <- with(dataframe, summary(as.numeric(apply) ~ bekt + vstt + verwt + nwoet, fun=sf)) 
bekt

等はデータフレームの列です。

+0

簡単に読むと、これは関数(つまり適用)を(as.numericを介して)数値に変換しようとしているように見えますが、エラーが発生しています。適用列を他のものに単純に名前を変更すると、問題が解決される可能性があります。 –

+0

はい、ありがとうございます、それはそうです、と私は思います。私はちょうどそれを修正する方法でそれを変更するように見えることはできません。 – jira

+0

Df $ newcol < - asの行に沿って何かをしますか?数値(Df $適用); (df、summary(newcol ....))work?(電話で申し訳ありません) –

答えて

0

編集:おやっ私のああ、私はそれを信じることができません!私はちょうど問題を理解しました、それはひどく単純です: "適用"はこの場合のコマンドではありません。これは変数で、df内の "apply"という列です。ダーン...!

0

あなたの質問は、あなたが達成しようとしていること、つまり出力すると予想される構造の例と、入力したものの例を少し詳しく説明することができます。そのようなものの場合であれば

(2、0、1)私が集めることができるものから、あなたがコンパレータごとの列ごとqlogis結果を得る各列の上に機能sfを適用したい、と述べた

sapply(0:2, function(ref) {qlogis(colMeans(dat >= ref))}) 

それは、各列が基準値(0,1,2)に関連し、各行は列に関連する行列を与える:これは、あなたが探しているものかもしれません。

sf関数を記述する必要はありません。

私はスティックの右端を持っている希望、

:)

+0

ありがとう!私はあなたが提案したように質問を編集し、あなたは私が望むものに近いものを提案していると思います。私はあなたのコードを実行すると、この(これより良い形で)のような行列を生成する: '[1] [2] [3] 3.5221500 InfのInfのvstt 2.8774684 InfのInfのbekt 0.6808771 InfのInfのTYPインフルエンザインフルエンザ3。5221500 インフラストラクチャ2.5917367' – jira

+0

@jiraそれはあなたが期待したものですか?私はInf値が期待される結果か、それともエラーだと思いますか?あなたはそのテーブルにそれをフォーマットするコードを探していますか?あなたの元の質問との関連で、 'apply'は関数なので、数値に強制しようとすると、あなたの特定のエラーが発生します。それを呼び出す方法については 'apply'のドキュメントを見てください。 – Danny

+0

いいえ、そうではありません、私は多くのInfsに何か問題があるように感じます。ありがとう、はい、私は問題を得るが、私はそれを解決するように見えることはできません。どんな変更を私が の '' < - with(typed2、summary(as)(〜)bekt + vstt + verwt + nwoet、fun = sf) 'に変更しても' 'apply ''と' getは 'Error in match.fun(FUN):引数" FUN "が欠けています。デフォルトはありません。 Rのヘルプは役に立ちません。 – jira

関連する問題