1

Rが初めてで、非常に単純なタスクに問題があります! .csv データのいくつかの列を R に読み込みました。その内容には、自然数にゼロを加えた変数が含まれており、欠損値があります。ノンパラメトリック パッケージを使用しようとした後、2 つの問題があります。まず、bw=npregbw(ydat=y, xdat=x, na.omit)x と y が列ベクトルである単純なコマンドを使用すると、「回帰データの数と応答データが一致しません」というエラーが表示されます。各ベクトルに同じ数の要素があるのに、なぜこれが得られるのでしょうか?

次に、コマンドを使用して、注文したデータを呼び出し、npregbw にこれを伝えたいと思いますbw=npregbw(ydat=y, xdat=ordered(x))。これを行うと、x は sort.list に対してアトミックでなければならないというエラーが表示されます。しかし、なぜ x はアトミックではなく、自然数と NA を持つベクトルなのですか?

説明をいただければ幸いです。

4

1 に答える 1

1

1) You probably have a different number of NA's in y and x.

2) Can't be sure about this, since there is no example. If it is of following type:

 x <- c(3,4,NA,2)

Then ordered(x) should work fine. Please provide an example of your case.

EDIT: You of course tried bw=npregbw(ydat=y, xdat=x)? ordered() makes your vector an ordered factor (see ?ordered), which is not an atomic vector (see 2.1.1 link and ?factor)

EDIT2: So the problem was the way of subsetting data. Note the difference in various ways of subsetting. data$x and data[,i] (where i = column number of column x) give you vectors, while data[c("x")] and data[i] give a data frame. Functions expect vectors, unless they call for data = (your data). In that case they work with column names

于 2012-04-19T12:45:04.463 に答える