我有一个如下所示的数据帧:
ID <- c(1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5)
Type <- c('A','B','C','B', 'C','A','B', 'C','A','C', 'C')
Value <- c(10, 11, 12, 1, 2, 100, 101, 102, -1, -2, -10)
df <- data.frame(ID, Type, Value)
我的目标是一个dataframe,每个ID只有一行.但我想根据特定的标准/瀑布原则 Select 行.
所以首选A型,然后是B型,然后是C型.我的目标是以下数据帧:
ID <- c(1, 2, 3, 4, 5)
Type <- c('A','B','A','A', 'C')
Value <- c(10, 1, 100, -1, -10)
df_goal <- data.frame(ID, Type, Value)
我想先转成宽幅格式,然后使用dplyr::coalesce
,但之后我会松开类型列.我很确定使用dplyr::group_by
和dplyr::summarise
有一个解决方案.起初,我还想过在dplyr::filter
语句中使用dplyr::if_else
,但我认为这是不可能的.
感谢您的帮助!