我有一个巨大的csv文件大约1500万行,大小在3G左右.
我想把这个文件逐个读成R,每次只选择那些适合某种条件的行.
例如,其中一个列被称为产品类型,所以我只需要将一种类型的产品读入R中,然后处理它然后输出结果,之后我转移到另一种类型的产品......
到目前为止,我已经阅读了不同的方法,例如将大文件上传到数据库中,或者按colbycol逐列读取,或者通过ff读取一大块行...
任何纯R解决方案都能解决我的问题吗?
我有一个简单的矩阵,例如
test <- matrix(c("u1","p1","u1","p2","u2","p2","u2",
"p3","u3","p1","u4","p2","u5","p1",
"u5","p3","u6","p3","u7","p4","u7",
"p3","u8","p1","u9","p4"),
ncol=2,byrow=TRUE)
colnames(test) <- c("user","product")
test1<-as.data.frame(test)
Run Code Online (Sandbox Code Playgroud)
测试:
user product
1 u1 p1
2 u1 p2
3 u2 p2
4 u2 p3
5 u3 p1
6 u4 p2
7 u5 p1
8 u5 p3
9 u6 p3
10 u7 p4
11 u7 p3
12 u8 p1
13 u9 p4
Run Code Online (Sandbox Code Playgroud)
我想算一下有多少用户一起购买产品对,比如p1&p2,p2和p3 ......
table(test1$product,test1$product) 给我这个:
p1 p2 p3 p4
p1 4 0 0 0
p2 0 3 0 0
p3 0 0 4 0
p4 0 0 …Run Code Online (Sandbox Code Playgroud) r ×2