r - 循环仅检查 R 中向量的最后一个值
问题描述
我在 R 中很新,我认为我的问题很简单,但我希望有人能帮助我。
我制作了一个包含已转换的唯一客户 ID 的向量。此外,我有一个包含所有客户 sessionid 的 df,因此已转换和未转换的客户。
我想创建一个新的 df,它只包含已转换的客户端 ID 的会话。为此,我认为循环将是一个很好的解决方案。但是,它只检查向量的最后一个值。
我使用的代码:
#Create vector that contains unique client id's that converted
Client_id_conversion_vector <- unique(Test$ClientId)
#Loop that creates new df
for (i in (Client_id_conversion_vector)){
Sessions_of_clients_who_converted <- (Sessions[Sessions$ClientId== i ])
}
我添加一个示例以使其更清楚:
Sessions ClienID Conversion
1 1 No
2 1 No
3 2 No
4 2 Yes
5 3 No
6 3 Yes
最后我想要类似的东西:
Sessions ClienID Conversion
3 2 No
4 2 Yes
5 3 No
6 3 Yes
所以我想用所有转换过的客户的会话创建一个新的df。
感谢您提前提供帮助!
解决方案
一个班轮:
#data
sessions <- 1:6
client <- 1:3
client <- sort(append(client,client))
conversion <- c("No","No","No","Yes","No","Yes")
df <- data.frame(sessions,client,conversion)
一条线回答
df[df$client %in% unique(df$client[df$conversion == "Yes"]),]
一步步
获取已转换客户的列表,我假设您可能有重复的值并使用唯一的
index <- unique(df$client[df$conversion == "Yes"])
为转换的客户过滤数据框
df[df$client %in% index,]
推荐阅读
- java - thread.start() 和调用 run 方法之间发生了什么?需要几十毫秒
- python - 为什么 Python 偶尔会用相同的地址初始化空可变对象?
- php - 教义如何合并不完整的数据
- excel - VBA中最后一行减1
- angular - 使用 Typescript 和 Angular 7 初始化嵌套的 json
- jquery - 如何使用 jquery 在表中添加 tr 和 rowspan
- python - OpenCV - 车道检测,黄色和白色车道
- ubuntu - 如何在file.txt中的最大值上划分每一行并将结果作为file.txt
- delphi - 何时引发异常?
- spring-boot - Spring Boot Elastic Search 连接问题