首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除重复列中值的R数据帧中的额外行

删除重复列中值的R数据帧中的额外行
EN

Stack Overflow用户
提问于 2015-11-25 21:38:16
回答 1查看 75关注 0票数 0

抱歉,真不知道该怎么给这个问题找个更好的标题.

第1部分:

总之,我在R中有一个数据框架,看起来是这样的:

代码语言:javascript
复制
   species       date
1        a 2015-11-10
2        a 2015-11-10
3        a 2015-11-10
4        b 2015-11-10
5        a 2015-11-11
6        b 2015-11-11
7        a 2015-11-12
8        a 2015-11-12
9        c 2015-11-12
10       c 2015-11-12
11       a 2015-11-13
12       a 2015-11-13
13       b 2015-11-13
14       b 2015-11-13
15       c 2015-11-13

这基本上是我每天遇到的动物的记录。在一个日期内,有时一个物种出现不止一次,这是因为我看到它不止一次在那一天。

现在,我想在同一天内删除对同一只动物的额外目击,这样我就得到了一个数据框架,如下所示:

代码语言:javascript
复制
  species       date
1       a 2015-11-10
2       b 2015-11-10
3       a 2015-11-11
4       b 2015-11-11
5       a 2015-11-12
6       c 2015-11-12
7       a 2015-11-13
8       b 2015-11-13
9       c 2015-11-13

我怎样才能做到这一点?作为一个新的R用户,我完全搞不懂.:(

顺便说一下,实际上在实际数据框架中有更多与问题无关的列,但我希望保留这些列。此外,我希望确保R将日期列中的日期作为日期数据对象,而不是字符串或其他任何东西。

第2部分:

使用第1部分末尾的数据框架,我想将其转换为如下所示的数据框架:

代码语言:javascript
复制
           a b c
2015-11-10 1 1 0
2015-11-11 1 1 0
2015-11-12 1 0 1
2015-11-13 1 1 1

1和0基本上代表是和否(但我想把它们保持为整数)。所以这个新的数据框架只是记录了我是否在某个特定的日期见过一个特定的动物物种。为此,我也希望把日期(在左边第一栏中)作为日期数据类型在R中处理。我是如何做到这一点的?请注意,,我有很多物种,而不仅仅是a,b,c。所以解决方案必须动态地调整我实际看到的物种的数量。

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2015-11-25 21:42:36

我们可以使用unique获取唯一的行,然后使用table获取计数。

代码语言:javascript
复制
Un1 <- unique(df1)
(table(Un1[2:1])> 0L) + 0L

编辑:基于@thelatemail的评论。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33926843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档