楼主: 米思奇
17014 13

[问答] R语言 如何批量命名数据框 [推广有奖]

  • 0关注
  • 2粉丝

本科生

73%

还不是VIP/贵宾

-

威望
0
论坛币
1757 个
通用积分
0.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
787 点
帖子
29
精华
0
在线时间
174 小时
注册时间
2012-11-7
最后登录
2025-10-27

楼主
米思奇 发表于 2014-7-25 08:43:19 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
gs=nrow(i)
for(g in 1:gs){
a(g)=data.frame(j[g])
b(g)=data.frame(x[g])

}

就是想定义a1=data.frame(j[1]) a2=data.frame(j[2])


该怎么实现呀

二维码

扫码加我 拉你入群

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

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

关键词:R语言 数据框 Frame Data Fram 命名 如何

沙发
URSIMON 发表于 2014-7-25 08:47:23
a 也得是个vector
a=character(0)
for i in
a[i]=.....
已有 1 人评分论坛币 收起 理由
reduce_fat + 4 热心帮助其他会员

总评分: 论坛币 + 4   查看全部评分

藤椅
URSIMON 发表于 2014-7-25 08:48:32
不是vector,list
a=list(0)

板凳
米思奇 发表于 2014-7-25 09:22:27
URSIMON 发表于 2014-7-25 08:48
不是vector,list
a=list(0)
谢谢了,不过这样显示的还是a[1],不是a1呢,这样我还是没有办法写后面的程序呢

报纸
米思奇 发表于 2014-7-25 09:25:34
URSIMON 发表于 2014-7-25 08:48
不是vector,list
a=list(0)
这样写,那个后面的没有变成数据框,后面没法按列合并

地板
URSIMON 发表于 2014-7-25 10:14:38
米思奇 发表于 2014-7-25 09:22
谢谢了,不过这样显示的还是a[1],不是a1呢,这样我还是没有办法写后面的程序呢
现在用了loop后面为什么不接着用loop,直接用a不就行了

7
米思奇 发表于 2014-7-25 11:11:58
URSIMON 发表于 2014-7-25 10:14
现在用了loop后面为什么不接着用loop,直接用a不就行了
gs=nrow(i)
for(g in 1:gs){
a(g)=data.frame(j[g])
b(g)=data.frame(x[g])
}

其实我这个循环里面还有一步合并,就是
gs=nrow(i)
for(g in 1:gs){
a(g)=data.frame(j[g])
b(g)=data.frame(x[g])
z(g)=cbind(a(g),b(g))}

那我这个z(g)又该怎么定义呢,谢谢了,后来又想把每一个数据写入文件中,请问下知道怎么在一个文件中然后加一列数据进去吗,并且这些列都是不一样的行

8
yywan0913 在职认证  发表于 2014-7-25 13:48:25
list  或者矩阵


数组或者矩阵的存在,很大很大程度上解决批量命名问题。
  既然最后要合并,何不如之前就定义矩阵,存在矩阵中即可

9
yywan0913 在职认证  发表于 2014-7-25 14:24:50
米思奇 发表于 2014-7-25 09:22
谢谢了,不过这样显示的还是a[1],不是a1呢,这样我还是没有办法写后面的程序呢
assign


可以实现批量命名
  1. for(i in 1:5){
  2. assign(paste("a",i,sep=""),rnorm(5))
  3. }
  4. a1;a2;a3;a4;a5
复制代码

10
米思奇 发表于 2014-7-25 16:56:25
yywan0913 发表于 2014-7-25 14:24
assign
太感谢大牛了,终于弄出来了

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

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