全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2532 7
2013-05-02
悬赏 50 个论坛币 已解决
数据框如下:
y  x1 x2  z
1  1  1   25
1  1  0   10
1  0  1   84
1  0  0   36
0  1  1    2
0  1  0    4
0  0  1   63
0  0  0  100

问题1:z是频数 如何展开得到原始数据集?

y x1 x2
1  1  1
1  1  1
......
1  1  1
以上是25行1 1 1
问题2:如何根据问题1得到的数据集得到数据框
x1 x2 y=1 y=0
0 0 36 100
0 1 84  63
1  0   10  4
1  1   25  2

最佳答案

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-5-2 21:35:42
xx <- unique(Q1[, 2:3])
temp <- NULL
for (i in 1:nrow(xx)) {
    temp <- rbind(temp, table(Q1[(Q1[, 2] == xx[i, 1]) & (Q1[, 3] == xx[i, 2]), 1]))
}
Q2 <- cbind(xx, temp)
colnames(Q2) <- c("x1", "x2", "y=0", "y=1")
rownames(Q2) <- NULL
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-5-2 21:49:48
????
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-5-2 21:55:32
楼主没说清楚,估计可能是
aaa<-as.data.frame(rbind(case,control))
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-5-3 03:53:33
dat <- data.frame(y=c(1,1,1,1,0,0,0,0), x1=c(1,1,0,0,1,1,0,0), x2=c(1,0,1,0,1,0,1,0), z=c(25,10,84,36,2,4,63,100))
Q1 <- dat[, 1:3][rep(1:nrow(dat), dat[, 4]), ]; rownames(Q1) <- NULL
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-5-3 08:30:37
qoiqpwqr 发表于 2013-5-3 03:53
dat
dat <- data.frame(y=c(1,1,1,1,0,0,0,0), x1=c(1,1,0,0,1,1,0,0), x2=c(1,0,1,0,1,0,1,0), z=c(25,10,84,36,0,4,63,100))
如果频数出现0,结果有问题。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群