boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
DataSciences版 - 请教问题 R list of list to vector to data frame
相关主题
Project :advertersiment click prediction
板上R高手多,包子求R数据输出到CSV方法
Role mining
在R里merge两个dataframe太慢了
这样的数据怎么处理
我现在有一个15个variable的回归模型。 有什么系统性的方法去
PRML书上附录697页的矩阵求导是不是写错了?
问个R的问题
spark 问题
这里有在用R做support vector machine的吗,哪个package用的比较多啊?
相关话题的讨论汇总
话题: dfall话题: data话题: v2话题: variable话题: list
进入DataSciences版参与讨论
1 (共1页)
s****h
发帖数: 3979
1
R新手,有几个问题,一起请教一下:
我想建一个data frame,有7个columns.
因为数据量相对R来说比较大(0.5M users, each with 50 items),用个loop,一次做
500个users
allres <- list()
for i{
create df
allres[i] <- df

For each user,take first 50 items. (自己瞎弄的一个推荐系统,和classic user
based, item based有些不一样)
df has 50 X 1000 rows, and 7 variable (v1 - v7)
我打算每个variable弄一个vector,然后combine成df
可是有些variable我只会弄成list。例如,我是这么create 50 X 1000个double
variable for v2的:
v2 <- lapply(1:tmpTestIn@data@data@Dim[2], FUN=function(i) { c(ratings2@data
[i, preNew@items[[i]]], rep(0, topn - length(preNew@items[[i]]))) } )
问题1:
typeof(c(ratings2@data[i, preNew@items[[i]]], rep(0, topn - length(preNew@
items[[i]]))))
double
typeof(v2[[i]])
double
How to create double vector v2,or how to convert list v2 to a vector?
问题2: 把 allres list concat成一个data frame,用rbindlist应该可以吧?
dfall <- rbindlist(allres)
问题3: 假如dfall已经建好了。
dfall有7个variable,其中包括userid, itemid, rank (from 1 to 50) of the
itemid for the userid。假设还有v4,v5,v6。
create a new data frame from dfall,with 2 new variables
需要
1. new variable 1 (v8) : 用一个function F, newVariable <- F(v4, v5, v6),
2. new variable 2 (v9) : 用newVariable 1对每个user的items重新排序,item的
rank 就是 new variable 2
3. 基于v1-v9的filter
多谢了
Y****a
发帖数: 243
2
my guess is:
tmpTestIn@data@data@Dim[2] = 50
topn = 1000
Q1: length(v2) = 50, length(v2[[1]]) = 1000
v2 <- unlist(v2)
Q2: assume now your create df returns a data.frame of dim 50,000 x 7
dfall <- do.call('rbind',lapply(range of i, function(i) create df)
Q3:
dfall$v8 <- F(v4, v5, v6)
dfall$v9 <- 0
for (u in userIDs) {
for (i in itemIDs) {
idx <- which((dfall$userID == u) & (dfall$itemID == i))
dfall$v9[idx] <- order(dfall$v8[idx])
}
}
Y****a
发帖数: 243
3
btw, 有必要把数据结构搞得这么复杂么?自己给自己挖坑啊?
s****h
发帖数: 3979
4
多谢回复
我没怎么用过R,要用它的一个package,所以就胡乱对付着用。
用lapply,v2就成list了。
v*******e
发帖数: 11604
5
千万不要用R来处理数据变换之类的东西。
分分钟后悔。
R只用于读入data frame,然后call regression functions。
Y****a
发帖数: 243
6
这位同学,就算你对R有成见,也不要这么误导人好不好?
你只会用"R只用于读入data frame,然后call regression functions", 不代表R就只
能干这个
R的数据变换很强大的,你不会用罢了。

【在 v*******e 的大作中提到】
: 千万不要用R来处理数据变换之类的东西。
: 分分钟后悔。
: R只用于读入data frame,然后call regression functions。

Y****a
发帖数: 243
7
我是说你的 @data@data@item 那部分
除了lapply,还有sapply可以用

【在 s****h 的大作中提到】
: 多谢回复
: 我没怎么用过R,要用它的一个package,所以就胡乱对付着用。
: 用lapply,v2就成list了。

Y****a
发帖数: 243
8
其实0.5M x 50不是很大,R应该可以处理,但是你的程序很可能不efficient,毕竟是
新手,所以会很慢
v*******e
发帖数: 11604
9

我第一次用R的时候,那两个assistant professor还在新西兰教书呢。这么多年用R下
来,这是我最有用的结论。

【在 Y****a 的大作中提到】
: 这位同学,就算你对R有成见,也不要这么误导人好不好?
: 你只会用"R只用于读入data frame,然后call regression functions", 不代表R就只
: 能干这个
: R的数据变换很强大的,你不会用罢了。

g**y
发帖数: 210
10
Try plyr...

user

【在 s****h 的大作中提到】
: R新手,有几个问题,一起请教一下:
: 我想建一个data frame,有7个columns.
: 因为数据量相对R来说比较大(0.5M users, each with 50 items),用个loop,一次做
: 500个users
: allres <- list()
: for i{
: create df
: allres[i] <- df
: }
: For each user,take first 50 items. (自己瞎弄的一个推荐系统,和classic user

d******e
发帖数: 7844
11
哪两个?

就只

【在 v*******e 的大作中提到】
:
: 我第一次用R的时候,那两个assistant professor还在新西兰教书呢。这么多年用R下
: 来,这是我最有用的结论。

v*******e
发帖数: 11604
12

还能有哪两个? Ross Ihaka,Robert Gentleman

【在 d******e 的大作中提到】
: 哪两个?
:
: 就只

z*****h
发帖数: 111
13
No one knows about data.table and dplyr?
1 (共1页)
进入DataSciences版参与讨论
相关主题
这里有在用R做support vector machine的吗,哪个package用的比较多啊?
PCA 可以用在mixture of continuous 和categorical variables (转载)
几个星期前看到一个3000 feature 的选重要variable的面试帖子,
有没有大牛来classifiy一下 PCA用法吗?
请教大家一个做feature的问题
怎么处理categorical variable有很多个level的
求教linear regression的一道面试题
请教一个用R做cox regression的问题
紧急求救: SMOTE-NC 处理categorical data for unbalanced class!!!
为什么叫tensor flow不叫 matrixflow
相关话题的讨论汇总
话题: dfall话题: data话题: v2话题: variable话题: list