unique.default(x) unique() 中的 R 错误仅适用于向量

标签 r

我创建了一个名为 state 的数据集来自内置矩阵state.x77有两个连续变量(人口和收入)和两个因素变量(区域和面积)。

我使用 tapply() 计算了按地区划分的平均收入, by() , aggregate() , 和 ave()查看返回对象的格式。

但是调用ave()给出错误

Error in unique.default(x) : unique() applies only to vectors



代码是:
## Mean income by region
tapply(state$inc, state$region, mean)
# Northeast         South North Central          West 
# 4570.222       4011.938      4611.083      4702.615 

by(state$inc, state$region, mean)
# state$region: Northeast
#
# [1] 4570.222
# [...]

aggregate(state$inc, list(state$region), mean)
#
#         Group.1        x
# 1     Northeast 4570.222
# 2         South 4011.938
# 3 North Central 4611.083
# 4          West 4702.615

ave(state$inc, state$region, mean)
# Error in unique.default(x) : unique() applies only to vectors

为什么会发生错误?我该如何预防?

最佳答案

这是一个很常见的错误,你需要使用命名参数FUN :

ave(state$inc, state$region, FUN = mean)

否则 mean将被解释为另一个分组变量(...ave 参数的一部分。)

关于unique.default(x) unique() 中的 R 错误仅适用于向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16681770/

相关文章:

r - 在 data.frame 中将列名的所有组合创建为行的有效方法

r - GCP 实例上的开源 Shiny 服务器无法连接到云 sql

r - 没有找到时创建一个包名称

r - 在 R 中的较大 map 中创建插入 map

r - R中的多个进程而不是for循环

r - 在 R heatmap() 函数中增加行高

r - PMML 模型可以在 R 中读取吗?

r - 使用scale_shape_manual时图例中的颜色丢失

r - 提取部分字符串 : date and times

r - 实现一种算法来计算 R 中的 pi