【发布时间】:2017-07-31 14:35:49
【问题描述】:
全部。
我需要用向量均值替换 R 中向量中的特定值(异常值)(在这种情况下,我们将不胜感激另一个建议)。我想使用 R 函数“替换”来执行此操作,但我仍然是初学者,我遇到了一个我自己无法修复的错误。这就是我正在尝试的:
replace(data$students, outlier, mean(data&students))
有人在另一篇文章中告诉我,我不能将 & 用于公式,所以这可能是问题所在,但同时这是我得到的错误:
invalid subscriptor type 'list'
这意味着我必须在输入替换功能之前创建一个列表?我应该输入什么?
很抱歉提供基本信息,但我刚开始使用 R。非常感谢您的精彩回复。
【问题讨论】:
-
您使用了
data&而不是data$。replace中的第二个参数也应该是逻辑或数字索引。不清楚outlier是什么 -
& 是一个错字。我在我的代码中正确地做到了:-)。问题可能出在异常值上。我有异常值 2000) 它返回一个带有数字和字符串的向量....一个列表?
-
对于
outlier,它应该是一个元素标识符。即作为替换 NAi1 <- which(is.na(data$students)); replace(data$students, i1, mean(data$students, na.rm = TRUE))的示例 -
感谢您的回复,阿克伦。您能告诉我如何将我的我们的 dplyr::filter(data,data$students > 2000) 转换为元素标识符吗?
-
请检查发布的答案是否符合您的标准
标签: r list replace formulas outliers