楼主: dxystata
2593 7

[问答] 如何变成数据框 [推广有奖]

版主

已卖:302份资源

大师

37%

还不是VIP/贵宾

-

TA的文库  其他...

Software

中英文Ebook

R学习

威望
2
论坛币
183395 个
通用积分
15333.1475
学术水平
208 点
热心指数
271 点
信用等级
174 点
经验
298627 点
帖子
5586
精华
1
在线时间
13632 小时
注册时间
2006-6-21
最后登录
2025-12-22

初级学术勋章 初级热心勋章 中级热心勋章 初级信用勋章

楼主
dxystata 发表于 2013-5-2 21:35:41 |AI写论文
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

最佳答案

关键词:数据框 原始数据 数据集 如何

沙发
qoiqpwqr 发表于 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
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
aspenroad + 1 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

藤椅
qoiqpwqr 发表于 2013-5-2 21:49:48
????

板凳
lutian08 发表于 2013-5-2 21:55:32
楼主没说清楚,估计可能是
aaa<-as.data.frame(rbind(case,control))

报纸
qoiqpwqr 发表于 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
已有 2 人评分学术水平 热心指数 信用等级 收起 理由
famousid + 1 + 1 + 1 精彩帖子
aspenroad + 1 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

地板
dxystata 发表于 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,结果有问题。

7
famousid 发表于 2013-5-5 08:50:23
dxystata 发表于 2013-5-3 08:30
dat
频数为0就意味着没出现,干嘛还要写呢

8
dxystata 发表于 2013-5-5 09:16:20
famousid 发表于 2013-5-5 08:50
频数为0就意味着没出现,干嘛还要写呢
这样不就少了一种情况了吗

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-28 10:33