小编Met*_*fan的帖子

如何获得所选商品的数量?

我想以数组格式列出每个Diet组(有四个)中有多少个Time> 21。

我试图在RStudio中解决此问题。

data(ChickWeight)
newdata <- subset(ChickWeight, Time >= 21, select=Diet)
Run Code Online (Sandbox Code Playgroud)

为了找到newdata中有多少个观测值,我使用了 nrow(newdata),但是我想通过使它成为该表达式的一部分来找出符合标准的观测值:

newdata <- subset(ChickWeight, Time >= 21, select=Diet) 
Run Code Online (Sandbox Code Playgroud)

这样,当我显示newdata表格时,表格中还将包含符合条件的观察值的数量。

需求输出:

Diet   Number Observations
1      200 (I just created the numbers for this column as examples)
2       75
3      150
4      100 
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

r frequency subset

6
推荐指数
2
解决办法
80
查看次数

使用 R,对于每一年,我需要对相同的两个日期之间不同年份的销售额求和

对于两个不同的年份,对于每一年,我需要对 1 月 3 日到 3 月 3 日发生的所有销售额求和。我更喜欢 dplyr 解决方案。

我在 stackoverflow 中查看的所有可能的解决方案都使用 SQL,而不是 R。如果有人知道我错过的解决方案,请告诉我。

在 R 中,我知道如何与组合作并使用各种 dplyr 函数,但我需要帮助来完成本文的内容。

我希望输出看起来像这样:

Year   Total Sales
2020   138 
2021   196
Run Code Online (Sandbox Code Playgroud)

输入

df <- data.frame(date=c(20200102, 20200107, 20200210, 20200215, 20200216, 20200302, 20200305, 20210101, 20210104, 20210209, 20210211, 20210215, 20210317, 20210322),
                  sales=c(9,14,27,30,33,34,36,44,45,47,51,53,56,58))
Run Code Online (Sandbox Code Playgroud)

r dplyr

4
推荐指数
1
解决办法
1194
查看次数

需要使用 R 从字符串列中提取单个字符

背景

下面是我的dput形式的游戏数据数据集——它包含一些 MLB 游戏的得分。

structure(list(team = c("NYM", "NYM", "BOS", "NYM", "BOS"), linescore = c("010000000", 
"(10)1140006x", "002200010", "00000(11)01x", "311200"), ondate = structure(c(18475, 
18476, 18487, 18489, 18494), class = "Date")), class = "data.frame", row.names = c(NA, 
-5L))
Run Code Online (Sandbox Code Playgroud)

例如,这是一行得分:“002200010”。

有些行分数以“x”结尾,有些在括号中包含两位数值,如“00000(11)01x”。不在括号中的每个数字表示球队在局中得分的次数。如果一支球队在一局中得分超过 9 分,则数字放在括号中,因此在得分“00000(11)01x”行中,该球队在第六局中得分为 11 分,但没有在最后一局击球。第九个(用“x”表示)。

并非每条线得分都有九局。有些有更多,有些只有六个。

我需要做什么

首先,我需要做的是获取一个团队在每一局中得分的次数,例如第一、第二、第三等,并将每个得分放在一个新列中。我更喜欢使用 dplyr 的解决方案。

我已经查看了 stackoverflow 的建议解决方案,但没有发现符合我需要的解决方案。如果有的话,如果你能分享它的网址,我将不胜感激。

我尝试使用以下代码来做到这一点:

gamedata %>%
  select(ondate, team, linescore) %>%
  mutate(inng1 = str_extract(linescore, "\\d|\\(\\d{2}\\)"))
Run Code Online (Sandbox Code Playgroud)

这是输出:

ondate      team linescore    inng1
2020-08-01  NYM 010000000       0   
2020-08-02  NYM (10)1140006x  (10) …
Run Code Online (Sandbox Code Playgroud)

regex string r dplyr

3
推荐指数
1
解决办法
108
查看次数

标签 统计

r ×3

dplyr ×2

frequency ×1

regex ×1

string ×1

subset ×1