首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在当前数据集中写一个新的数据集,其中包含频率到第x行?

如何在当前数据集中写一个新的数据集,其中包含频率到第x行?
EN

Stack Overflow用户
提问于 2020-06-19 00:55:04
回答 1查看 46关注 0票数 0

所以我有这个数据集,看起来像这样:

代码语言:javascript
复制
Day     A   B   C   D
01.01   6   3   4   9
01.02   3   7   3   2
01.03   2   10  9   2
01.04   1   1   5   9
01.05   1   1   1   10
01.06   1   9   5   5
01.07   4   3   7   7
01.08   7   7   9   4
01.09   9   9   8   4
01.10   5   7   3   1

A、B、C和D是商店,1到10是该商店当天销售数量最多的商品。因此,在A商店,他们可以售出许多商品,但第6号商品是第一天最畅销的商品。到目前为止,我的所有商店的名义频率表如下:

代码语言:javascript
复制
Item    count of item
1           7
2           3
3           5
4           4
5           4
6           1
7           6
8           1
9           7
10          2

因此,基本上在10天内,产品1成为7家商店中最畅销的商品。所以10天后最畅销的5种商品是这样的:

代码语言:javascript
复制
Item    count of item
1           7
9           7
7           6
3           5
4           4

我需要的是前5行是名为d1的新数据集中的第一行。d1中的第二行应该是第11天的前5行,依此类推。

代码语言:javascript
复制
#d1
Day   1st  2nd  3rd  4th  5th
01.10  1    9   7    3     4
01.11  9    1   7    3     4

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2020-06-19 04:03:55

这是提供数据的更好方法。使用dput()将其添加到此表单中。

代码语言:javascript
复制
Days <- structure(list(Day = c(1.01, 1.02, 1.03, 1.04, 1.05, 1.06, 1.07, 
     1.08, 1.09, 1.1), A = c(6L, 3L, 2L, 1L, 1L, 1L, 4L, 7L, 9L, 5L),
     B = c(3L, 7L, 10L, 1L, 1L, 9L, 3L, 7L, 9L, 7L), C = c(4L, 
     3L, 9L, 5L, 1L, 5L, 7L, 9L, 8L, 3L), D = c(9L, 2L, 2L, 9L, 10L, 
     5L, 7L, 4L, 4L, 1L)), class = "data.frame", row.names = c(NA, -10L))

要获得10天的表格,只需使用unlist()折叠数据

代码语言:javascript
复制
FreqTable <- table(unlist(Days[, -1]))   # Tabulate all rows
FreqTable
# 
#  1  2  3  4  5  6  7  8  9 10 
#  7  3  5  4  4  1  6  1  7  2 
Top5.freq <- sort(FreqTable, decreasing=TRUE)[1:5]   # Top 5 products
Top5.prod <- as.numeric(names(Top5.freq))                 # Product names
d1 <- data.frame(Day="1.10", t(Top5.prod))           # Row 1 of d1
colnames(d1)[-1] <- c("1st", "2nd", "3rd", "4th", "5th")
d1
#    Day 1st 2nd 3rd 4th 5th
# 1 1.10   1   9   7   3   4

您没有提供第11天的数据,也没有指明它代表的是一天还是第1- 11天的累计。

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

https://stackoverflow.com/questions/62455285

复制
相关文章

相似问题

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