r - 如何标记R中第一次出现的值
问题描述
我知道使用 match() 将提取变量的第一次出现,但是如何创建一个新列标记第一次出现?
例如我怎么能得到:
example <- data.frame(id = c(1,1,1,2,3,4), label = c(1,0,0,1,1,1))
提前致谢!
解决方案
duplicated
带有in的选项base R
example$label <- +(!duplicated(example$id))
-输出
example
# id label
#1 1 1
#2 1 0
#3 1 0
#4 2 1
#5 3 1
#6 4 1
duplicated
返回一个逻辑列,对于“id”的重复元素返回 TRUE,对于非重复元素(即第一次出现)返回 FALSE。否定 ( !
) 反转 TRUE -> FALSE 反之亦然,然后用+
or强制它为二进制as.integer
推荐阅读
- python - 使用 Xarray 组合 NetCDF 文件
- r - 使用 R 提取包含一组单词的句子
- apache-spark - 在 spark 中使用动态列名
- python - 在 Heroku 上从 github 构建被卡住,没有任何行被写入
- python - conda 中的新环境可以从基础环境继承特定的包吗
- javascript - 如何从 eslint 中排除文档文件夹
- c# - 从 ASP.NET 中的一个表映射两个实体
- sharepoint - 在 SharePoint 列表中获取 SMS 响应
- java - 如何在android中对api响应进行分组
- php - 如何修复 PHP 嵌套循环我在尝试创建嵌套循环时遇到了一些问题?