列出 R 向量中的不同值
如何列出向量中具有重复值的不同值?我的意思是,类似于下面的 SQL 语句:
SELECT DISTINCT product_code
FROM data
How can I list the distinct values in a vector where the values are replicative? I mean, similarly to the following SQL statement:
SELECT DISTINCT product_code
FROM data
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
您的意思是
独特
:Do you mean
unique
:如果数据实际上是一个因子,那么您可以使用 levels() 函数,例如,
如果它不是因子,但它应该是,您可以先将其转换为因子通过使用
factor()
函数,例如,另一个选项,如上所述,是
unique()
函数:两者之间的主要区别(当应用于
>因素
)是级别
将按级别顺序返回字符向量,包括已编码但未出现的任何级别。unique
将按值首次出现的顺序返回一个factor
,省略任何未出现的级别(尽管仍包含在返回的levels
中)因素)。If the data is actually a
factor
then you can use thelevels()
function, e.g.If it's not a factor, but it should be, you can convert it to factor first by using the
factor()
function, e.g.Another option, as mentioned above, is the
unique()
function:The main difference between the two (when applied to a
factor
) is thatlevels
will return a character vector in the order of levels, including any levels that are coded but do not occur.unique
will return afactor
in the order the values first appear, with any non-occurring levels omitted (though still included inlevels
of the returned factor).尝试将重复函数与否定运算符“!”结合使用。
示例:
希望有帮助。
Try using the duplicated function in combination with the negation operator "!".
Example:
Hope that helps.
您还可以使用 R 中的 sqldf 包。
You can also use the sqldf package in R.
另一种方法是使用 dplyr 包:
another way would be to use
dplyr
package:在 R 语言(版本 3.0+)中,您可以应用过滤器从列表中获取唯一的数据
-
data.list <- data.list %>% unique
或几个它与其他操作以及
data.list.rollnumbers <- data.list %>% pull(RollNumber) %>% unique
unique
不需要dplyr。In
R Language
(version 3.0+) You can apply filter to get unique out of a list-data.list <- data.list %>% unique
or couple it with other operation as well
data.list.rollnumbers <- data.list %>% pull(RollNumber) %>% unique
unique
doesn't requiredplyr
.这也可能有效,
结果,
[1] 21.0 22.8 21.4 18.7 18.1 14.3 24.4 19.2 17.8 16.4 17.3 15.2 10.4 14.7 32.4 30.4 33.9 21.5 15.5 13.3 27.3 26.0 15.8 19.7 15.0
$圆柱体
[1] 6 4 8
美元等等......
this may work as well,
outcomes,