R中的数据整形和计算

问题描述:

我是R的新手,我想用它来编写一个简单的代码,以根据优先级对软件缺陷(固定缺陷/未解决缺陷)* 100进行可视化缺陷去除效率R中的数据整形和计算

我从吉拉导出一些数据样本的错误:

Priority Resolution Created  Resolved 
P3   Unresolved 28.02.2017 28.02.2017 
P3   Unresolved 28.02.2017 28.02.2017 
P1    Fixed 27.02.2017 06.03.2017 
P2    Fixed 27.02.2017 14.03.2017 
P1   Unresolved 24.02.2017 13.03.2017 
P1   duplicate 21.02.2017 02.03.2017 
P1    Fixed 24.02.2017 07.03.2017 

我想重塑这个表,并在同一时间做一些计算。 这是很容易使用Excel数据透视表,但我想有R脚本它

预期输出:

Resolution P1 P2 P3 Grand Total 
duplicate 2    2 
Fixed  4 4 1  9 
Unresolved 2 2 4  8 
Grand Total 8 6 5  19 

另外,我想看看决议(像下面的东西)的趋势

Dates P1 unresolved P1 fixed P1 DRE, %   P2 unresolved P2 fixed P2 DRE, % 
date1   5   0    0%     20   3   15% 
date1 + 7  6   2   33%     37   4   11% 
date1 + 14  9   3   33%     40   4   10% 

R编程如何实现?

+0

对于第一部分,我认为你需要'?table'。 – lmo

+0

是的,表与第一部分,表(数据$分辨率,数据$优先级)..我会尝试添加总计 –

+1

欢迎来到StackOverflow。这对未来的读者会更有用,如果您将多部分问题分解为关于特定问题的离散帖子,那么这对于更多的答复者更有用。考虑将你的“趋势解决”部分作为一个单独的问题来处理,如果你找不到现存的问题和答案,请将其从这篇文章中删除并单独提出。 –

从传达室包装这些功能模仿Excel中的数据透视表:

library(janitor) 
library(dplyr) # for the %>% pipe 

dat %>% 
    crosstab(Resolution, Priority) %>% 
    add_totals_col() %>% 
    add_totals_row() 

#> Resolution P1 P2 P3 Total 
#> 1 duplicate 1 0 0  1 
#> 2  Fixed 2 1 0  3 
#> 3 Unresolved 1 0 2  3 
#> 4  Total 4 1 2  7 

使用的数据:

dat <- read.table(text = "Priority Resolution Created  Resolved 
P3   Unresolved 28.02.2017 28.02.2017 
        P3   Unresolved 28.02.2017 28.02.2017 
        P1    Fixed 27.02.2017 06.03.2017 
        P2    Fixed 27.02.2017 14.03.2017 
        P1   Unresolved 24.02.2017 13.03.2017 
        P1   duplicate 21.02.2017 02.03.2017 
        P1    Fixed 24.02.2017 07.03.2017", header = TRUE) 
+0

谢谢。是的,这个图书馆的第一个要求是实现的。我认为这个库是非常有用的...感谢分享 –

下面是仅使用表中的第一部分答案。我将数据保存到同一个目录中的文件中,逗号分隔值。

data = read.csv('jira_data.csv') 
new_data = table(data$Resolution, data$Priority) 
new_data = addmargins(new_data) 
+0

它也可以,但它给了我另一种观点的数据,谢谢 –