(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!请将您的评论中的附加信息放入您的问题中,即编辑您的问题: