我有很多会议的df,这将导致会议收敛。我想使用包含转换的所有行创建新的df。
我的df看起来像:
Sessionid Clientid Conversion_type
1 1 No_conv
2 1 No_conv
3 1 Online
4 2 No_conv
5 2 Offline
我想要一个新的df,看起来像:
Session Id Clientid Conversion_type
3 1 Online
5 2 Offline
还有一个日期列,所以我认为如果我在Client_id上订购,那么它将自动在那些ID的日期订购。然后,我可以选择包含Clientid尾值的行。但是,这不起作用。
我希望有人可以帮助我。
我们可以使用比较运算符来获取'Conversion_type'不等于'No_conv'的行的子集
df2 <- subset(df1, Conversion_type != 'No_conv')
df2
# Sessionid Clientid Conversion_type
#3 3 1 Online
#5 5 2 Offline
或者,如果它是基于位置的,即需要每个“ Clientid”的最后一行,请使用duplicated
来创建逻辑向量subset
以对行进行子集化
subset(df1, !duplicated(Clientid, fromLast = TRUE))
# Sessionid Clientid Conversion_type
#3 3 1 Online
#5 5 2 Offline
或者,通过dplyr
,我们可以按“ Clientid”和slice
最后一行(n()
)进行分组
library(dplyr)
df1 %>%
group_by(Clientid) %>%
slice(n())
df1 <- structure(list(Sessionid = 1:5, Clientid = c(1L, 1L, 1L, 2L,
2L), Conversion_type = c("No_conv", "No_conv", "Online", "No_conv",
"Offline")), class = "data.frame", row.names = c(NA, -5L))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句