由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - 再问R的问题 - 关于matrix 的operation
相关主题
两个有关于R的小问题?请教一个SAS coding
SAS question using PROC SQL 高手请进, 包子答谢SAS应用问题
今天又“R”了 -- 感想和请教。请教如何写这个sas代码?
请教一个R问题:怎么rbind一系列data,如data1,data2,....data (转载)请教一个用SAS作DATA MERGE的问题
Matlab怎样把matrix的data转到vector里面?如何强行合并两个datasets?
R help: matrix and vector operationHow to prevent values being trucated when merging two files
How can I loop through a list of strings as variables in a请教一下SAS编程的一个问题
更新一下Taste of R,再问两个R的问题。help need for SAS macro
相关话题的讨论汇总
话题: x2话题: x1话题: matrix话题: data话题: data3
进入Statistics版参与讨论
1 (共1页)
n*****1
发帖数: 172
1
假设我有一个data(比较大, 大约1000个id), 每个id有若干个observation, 请问如何
完成下面的operation?
Data:
id X1 X2 e
1 1 2 2
1 3 4 2
1 5 6 3
2 7 8 3
2 9 10 4
第一步, 在每一row里, 用对应的e乘以所在row的X1和X2
id X1 X2
1 2 4
1 6 8
1 15 18
2 21 24
2 36 40
第二步, by id将row 相加 (这个应该可以用merge来完成)
id X1 X2
1 23 30
2 57 64
第三步, 每一row的X1和X2组成一个row vector[X1 X2], 然后运算[X1 X2]'*[X1 X2],
得到一个2X2的matrix (这里有两
个id,所以有两个这样的matrix)
第四步, 将第三步算出来的两个matrix相加
谢谢了!!!
y****2
发帖数: 34
2
data <- matrix(c(1 ,1 ,2, 2, 1, 3, 4, 2,1, 5, 6, 3,2, 7, 8, 3,2, 9, 10, 4),
ncol=4, byrow=T)
colnames(data) <- c("id", "x1", "x2", "e")
### step1:
data[,2:3] <- data[,2:3]*data[,4]
data1 <- data[,1:3]
### step2:
data2 <- aggregate(data1[,2:3], list(id=data1[,1]), sum)
### step3:
data3 <- split(data2[,2:3], f=list(data2[,1]))
data3 <- lapply(data3, as.vector, "numeric")
mprod <- function(x){x %*% t(x)}
data4 <- lapply(data3, mprod)
### step4:
data5 <- 0
for(i in 1:length(data4)){
data5 <- data5 +
n*****1
发帖数: 172
3
太感谢了!!!

,

【在 y****2 的大作中提到】
: data <- matrix(c(1 ,1 ,2, 2, 1, 3, 4, 2,1, 5, 6, 3,2, 7, 8, 3,2, 9, 10, 4),
: ncol=4, byrow=T)
: colnames(data) <- c("id", "x1", "x2", "e")
: ### step1:
: data[,2:3] <- data[,2:3]*data[,4]
: data1 <- data[,1:3]
: ### step2:
: data2 <- aggregate(data1[,2:3], list(id=data1[,1]), sum)
: ### step3:
: data3 <- split(data2[,2:3], f=list(data2[,1]))

1 (共1页)
进入Statistics版参与讨论
相关主题
help need for SAS macroMatlab怎样把matrix的data转到vector里面?
【包子】merge 语句里的(in= )R help: matrix and vector operation
SAS code helpHow can I loop through a list of strings as variables in a
借人 气问 两个 问题:更新一下Taste of R,再问两个R的问题。
两个有关于R的小问题?请教一个SAS coding
SAS question using PROC SQL 高手请进, 包子答谢SAS应用问题
今天又“R”了 -- 感想和请教。请教如何写这个sas代码?
请教一个R问题:怎么rbind一系列data,如data1,data2,....data (转载)请教一个用SAS作DATA MERGE的问题
相关话题的讨论汇总
话题: x2话题: x1话题: matrix话题: data话题: data3