Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
(R) 如何从两个不同的数据集中查看事件发生的次数_R - Fatal编程技术网

(R) 如何从两个不同的数据集中查看事件发生的次数

(R) 如何从两个不同的数据集中查看事件发生的次数,r,R,好的,这是我的数据库 Game Player Hit Something else 1 Trout TRUE 1 1 Pujols FALSE 5 1 Hunter TRUE 6 1 Trout TRUE 7 2 Hunter TRUE 23 2 Pujols FALSE 0 等等,总共有162场比赛。因此,如果我有一个不同的数据帧 Player Num

好的,这是我的数据库

Game    Player    Hit   Something else
1       Trout     TRUE  1
1       Pujols    FALSE 5
1       Hunter    TRUE  6
1       Trout     TRUE  7
2       Hunter    TRUE  23
2       Pujols    FALSE 0
等等,总共有162场比赛。因此,如果我有一个不同的数据帧

Player    Number of Games with at least one hit
Trout
Hunter
Pujols
我怎样才能得到第二列呢。我需要一个声明,将过滤球员和游戏,因为为每个球员和游戏制作一个子集将花费太长时间。我需要计算一个玩家被击中的次数,但仅限于每场比赛。
谢谢

如果我正确理解了这个问题,以下内容将适用于
dplyr
。只需查看命中率的真实值,删除任何重复项(即具有多个命中率的游戏),然后计算每个玩家的行数

library(dplyr)

df <- data.frame(Game=c(1,1,1,1,2,2),Player=c("Trout","Pujols","Hunter","Trout","Hunter","Pujols"),Hit=c(TRUE,FALSE,TRUE,TRUE,TRUE,FALSE))

df2 <- df %>% filter(Hit) %>% distinct(Game,Player) %>% count(Player)
库(dplyr)
df%不同(游戏,玩家)%%>%计数(玩家)

这将为您提供您提到的第二个数据帧。或者,如果它已经存在(
df3
),您可以使用
df3%left\u-join(df2)
)将新数据合并到它中,这很好,但可以计算玩家获得命中的次数。我想数一数一名球员至少命中一次的比赛次数。但是感谢您的回复。
distinct()
函数会删除所有重复的条目,因此只对玩家至少命中一次的游戏进行一次计数。我试过了,但它说“未知变量分组依据:玩家”是data.frame中的数据,变量名为
game
Player
Hit
?请在不同的括号中插入任何内容。你不想要一个明确的游戏号码吗。当我把它留空时,它只给了我总点击量。
aggregate(Game~Player,df[df$Hit,],FUN=length)
我需要玩家至少一次点击的游戏数。我一直在得到玩家的总点击量。问题是还有其他的串谋也将是不同的。@willmccormack14欢迎来到SO!请将您的评论中的附加信息放入您的问题中,即编辑您的问题: