楼主: priss111
3690 7

[问答] 请问用哪个函数可以根据母数据集按照条件生成子数据集并重命名变量?谢谢! [推广有奖]

  • 0关注
  • 5粉丝

已卖:9份资源

副教授

16%

还不是VIP/贵宾

-

威望
0
论坛币
153 个
通用积分
47.5396
学术水平
11 点
热心指数
14 点
信用等级
10 点
经验
14935 点
帖子
472
精华
0
在线时间
808 小时
注册时间
2008-3-30
最后登录
2025-3-17

楼主
priss111 发表于 2011-10-27 17:16:41 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
初学R,
问个弱弱的问题,
请问用哪几个函数能够实现或者Rcode能够实现下面的##2-4
谢谢!


Rcode如下:

##1.生成母数据集
bh=1:100
jxh=rep(1:17,c(4,5,6,7,8,4,5,6,7,8,4,5,5,5,6,7,8))
relation=c(0,5,6,10,0,5,6,10,11,0,5,6,10,11,12,0,5,6,10,11,12,13,0,5,6,10,11,12,13,14,
           0,5,6,10,0,5,6,10,11,0,5,6,10,11,12,0,5,6,10,11,12,13,0,5,6,10,11,12,13,14,
           0,5,6,10,0,5,6,10,11,0,5,6,10,11,0,5,6,10,11,0,5,6,10,11,12,0,5,6,10,11,12,13,
           0,5,6,10,11,12,13,14)
datajx=data.frame(jxh,relation,bh)  ###datajx是母数据集

##2.根据条件生成子数据集data1&data2   
if relation==5 then output data1;
if relation==6 then output data2;


##3.保留数据集data1&data2中的变量jxh & bh


##4.将data1&data2中bh分别重命名为did & mid



二维码

扫码加我 拉你入群

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

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

关键词:数据集 relation output ATION outpu 命名 如何

沙发
qoiqpwqr 发表于 2011-10-27 21:24:11
  1. data1 <- datajx[relation == 5, ]
  2. data2 <- datajx[relation == 6, ]
  3. data1 <- data1[, -2]
  4. data2 <- data2[, -2]
  5. colnames(data1)[2] <- "did"
  6. colnames(data2)[2] <- "mid"
复制代码

藤椅
priss111 发表于 2011-10-27 21:44:24
qoiqpwqr 发表于 2011-10-27 21:24
谢谢!!
运行了,
没问题.


方括号的用法还需要在实战中慢慢掌握....

data1=data1[,-2]
##"-2"应该是表示把第2个变量delete


板凳
shenbaiseshatan 在职认证  发表于 2011-10-29 19:45:16
其实[]这种引用方式并不一定是最好的,如果你需要继承变量名称的信息的话这种方式就不行了
胜人者有力,自胜者强!

报纸
aspenroad 发表于 2011-10-29 22:40:58
shenbaiseshatan 发表于 2011-10-29 19:45
其实[]这种引用方式并不一定是最好的,如果你需要继承变量名称的信息的话这种方式就不行了
举个例子?

地板
shenbaiseshatan 在职认证  发表于 2011-10-30 10:24:10
aspenroad 发表于 2011-10-29 22:40
举个例子?
这个还需要举例子吗?你试下不就知道我说的对不对了。。。
如果要用[]这种方式在取子集时保留变量信息的话也是可以的,只不过通常的那种矩阵应用方式不行
胜人者有力,自胜者强!

7
priss111 发表于 2011-10-30 11:22:33
shenbaiseshatan 发表于 2011-10-29 19:45
其实[]这种引用方式并不一定是最好的,如果你需要继承变量名称的信息的话这种方式就不行了
哦,
谢谢!

您这个建议可以作为一种问题,
通过实践慢慢体悟...

对于初学的我,
可能首先想到是能不能写出code来解决一个问题,
至于哪一种方式或者那种code更合适更美,
需要不断积累,
很多时候,
即便发现写出的code繁琐,
但却不能更改的更简洁适宜,
...

8
aspenroad 发表于 2011-10-30 11:44:35
shenbaiseshatan 发表于 2011-10-30 10:24
这个还需要举例子吗?你试下不就知道我说的对不对了。。。
如果要用[]这种方式在取子集时保留变量信息的 ...
我试了一下,似乎可以保留变量信息的啊

> dat <- data.frame(x=c(1,2,3), y = c("a", "b","c"), z = c(3,2,1))
> dat
  x y z
1 1 a 3
2 2 b 2
3 3 c 1
> dat[, -2]
  x z
1 1 3
2 2 2
3 3 1

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 00:45