我正在尝试将两列添加到NBA球员数据集中。第一列将确定数据集内所有玩家中年龄的四分位数。第二个附加列将确定单个球员的年龄位于其位置(例如,控球后卫,小前锋,中锋等)中的哪个四分位数。我可以使用dplyr软件包根据玩家的位置计算年龄的四分位数,但是我不知道如何将其重新加入原始数据集,甚至不知道采用哪种正确方法。
我已经使用dplyr来根据位置计算年龄的四分位数。曾尝试使用诸如Fuzzyjoin之类的其他程序包,但对使用它们感到不舒服。
#Incorporate necessary packages
library(ballr)
library(magrittr)
library(dplyr)
library(tidyverse)
#Establish full player table
players <- NBAPerGameAdvStatistics(season = 2018)
#Calculates Quartiles for Each Position
Pos_quartiles <- players %>%
group_by(pos) %>%
summarise(age = list(enframe(quantile(age, probs=c(0.25,0.5,0.75,1.0))))) %>%
unnest
我希望该运动员数据集包含664个观察值和32个变量,此程序的结果是添加了最后两个变量。其他各行将根据所包含的所有球员显示球员的年龄四分位数,并根据其位置显示球员的年龄四分位数。
答案 0 :(得分:0)
我们可以结合使用<com.google.android.material.floatingactionbutton.FloatingActionButton
android:src="@drawable/perfect_fit_circle_image"
app:maxImageSize="56dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
和分位数来获得适当的四分位数
base::cut
请注意 quar_pos 中出现错误时我使用了library(dplyr)
players %>%
mutate(quar_all=cut(age, breaks=c(0,quantile(age, probs=c(0.25,0.5,0.75,1.0))),labels = FALSE)) %>%
group_by(pos) %>%
mutate(quar_pos=cut(age, breaks=unique(c(0,quantile(age, probs=c(0.25,0.5,0.75,1.0)))),labels = FALSE))
cut.default(age,breaks =分位数(age,probs = c(0.25,0.5,: “休息”不是唯一的
对于类似的错误,unique
由Didzis Elferts here提出,因此正如Didzis所提到的,期望受影响群体的四分位数更少。