楼主: 虹光满天
10416 9

[问答] R语言 数据框合并 依据相同的多变量 [推广有奖]

  • 27关注
  • 0粉丝

硕士生

75%

还不是VIP/贵宾

-

威望
0
论坛币
220 个
通用积分
0
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
178 点
帖子
131
精华
0
在线时间
138 小时
注册时间
2015-4-19
最后登录
2025-8-10

楼主
虹光满天 学生认证  发表于 2016-4-2 16:42:17 |AI写论文
3论坛币
想要合并两个数据框,根据两个变量,但是经常会出现以下问题,求助
这种问题该怎么破

最佳答案

wangfs111222 查看完整内容

可能是你的数据框中包含了factor数据类型。 输出数据框每1列的类型看看。
关键词:数据框合并 数据框 多变量 R语言 R语言 依据相同的多变量 数据框合并

沙发
wangfs111222 发表于 2016-4-2 16:42:18
可能是你的数据框中包含了factor数据类型。

输出数据框每1列的类型看看。
已有 1 人评分论坛币 热心指数 收起 理由
happy_287422301 + 100 + 1 热心帮助其他会员

总评分: 论坛币 + 100  热心指数 + 1   查看全部评分

藤椅
虹光满天 学生认证  发表于 2016-4-2 16:45:33
> a
         time      code           amt
1  2014-01-30 000001.SZ 10088200600.4
2  2014-02-28 000001.SZ 12739154513.8
> p
         time      code   pct_chg
1  2014-01-30 000001.SZ -6.938776
2  2014-02-28 000001.SZ -2.368421
> d<-merge(a, p, by=c("time","code"),all=TRUE)
Warning messages:
1: In `[<-.factor`(`*tmp*`, ri, value = c(16100, 16129, 16160, 16190,  :
  因子层次有错,产生了NA
2: In `[<-.factor`(`*tmp*`, ri, value = c(16100, 16129, 16160, 16190,  :
  因子层次有错,产生了NA
要合并这两个数据框,应该怎么办

板凳
jiangbeilu 学生认证  发表于 2016-4-2 19:25:08
你看一下你的time或者code里有没有NA的值。

报纸
虹光满天 学生认证  发表于 2016-4-3 15:38:29 来自手机
jiangbeilu 发表于 2016-4-2 19:25
你看一下你的time或者code里有没有NA的值。
没有的,我用的是十个这样的少量数据,然后它们都是有值的。。。。还会是什么原因的,?
上网搜,一直弄不懂stringasfactor是什么东西?
已有 1 人评分论坛币 收起 理由
jiangbeilu + 5 鼓励积极发帖讨论

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

地板
jiangbeilu 学生认证  发表于 2016-4-3 19:13:16
虹光满天 发表于 2016-4-3 15:38
没有的,我用的是十个这样的少量数据,然后它们都是有值的。。。。还会是什么原因的,?
上网搜,一直弄不 ...
楼主你可以上传一部分数据么?
有数据的话,找原因会更方便一些。
已有 1 人评分热心指数 收起 理由
happy_287422301 + 2 我很赞同

总评分: 热心指数 + 2   查看全部评分

7
虹光满天 学生认证  发表于 2016-4-4 13:52:27 来自手机
wangfs111222 发表于 2016-4-3 16:46
可能是你的数据框中包含了factor数据类型。

输出数据框每1列的类型看看。
恩,这是一种方法谢谢热心解答

8
虹光满天 学生认证  发表于 2016-4-4 13:54:35 来自手机
jiangbeilu 发表于 2016-4-3 19:13
楼主你可以上传一部分数据么?
有数据的话,找原因会更方便一些。
可以了,我换了一种思路,把p中的pcg指标提取出来,然后与a做一下cbind就可以了
merge多指标合并没有研究出来。。。

9
kuqila 发表于 2016-8-5 14:13:02
虹光满天 发表于 2016-4-3 15:38
没有的,我用的是十个这样的少量数据,然后它们都是有值的。。。。还会是什么原因的,?
上网搜,一直弄不 ...
调用rbind函数时,指定参数 stringsAsFactors = F 就可以了
已有 1 人评分论坛币 热心指数 收起 理由
happy_287422301 + 100 + 1 热心帮助其他会员

总评分: 论坛币 + 100  热心指数 + 1   查看全部评分

10
虹光满天 学生认证  发表于 2016-8-5 23:06:23
kuqila 发表于 2016-8-5 14:13
调用rbind函数时,指定参数 stringsAsFactors = F 就可以了
恩,我这个是列合并,那cbind函数,应该也有这个参数,就是将数据框里的列设置为非因子值
已有 1 人评分论坛币 收起 理由
happy_287422301 + 40 鼓励积极发帖讨论

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

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

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