1

R 新手,在一个非常简单的任务上遇到问题!我已将几列 .csv 数据读入 R,其中的内容包含自然数加零的变量,并且有缺失值。在尝试使用非参数包后,我有两个问题:首先,如果我使用简单的命令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) y 和 x 中可能有不同数量的 NA。

2)不能确定这一点,因为没有例子。如果是以下类型:

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

然后ordered(x)应该可以正常工作。请举例说明您的情况。

编辑:你当然试过bw=npregbw(ydat=y, xdat=x)ordered()使您的向量成为有序因子(参见?ordered),它不是原子向量(参见 2.1.1链接?factor

EDIT2:所以问题是子集数据的方式。请注意各种子集化方式的差异。data$x 和 data[,i] (其中 i = x 列的列号)为您提供向量,而 data[c("x")] 和 data[i] 提供数据框。函数需要向量,除非它们调用 data = (your data)。在这种情况下,它们使用列名

于 2012-04-19T12:45:04.463 回答