2287 4

[问答] merge两个dataframe时出现的问题 [推广有奖]

  • 0关注
  • 0粉丝

高中生

5%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
358 点
帖子
14
精华
0
在线时间
9 小时
注册时间
2017-9-11
最后登录
2018-6-4

楼主
爱学习的芒果 发表于 2017-12-7 03:15:02 |AI写论文
1论坛币
各位好,我是刚接触r的小白一个。我想要合并两个dataframe,但是发现merge后的结果只是把两个dataframe上下连结在一起。下面是我的code:
h=read.csv("h1b_kaggle.csv")
##https://www.kaggle.com/nsharan/h-1b-visa/data
h_1=h
#summary(h_1)
#str(h_1)
##separate the city and state
library(stringr)
a=str_split_fixed(h_1$WORKSITE, ",", 2)
h_position=data.frame(a)
names(h_position)[1] <- "City"
names(h_position)[2] <- "State"
library(dplyr)
h_1=h_1%>%mutate(CITY=h_position$City,STATE=h_position$State)
##map
##idea from:https://gist.github.com/cdesante/4252133
levels(h_1$STATE) <- tolower(levels(h_1$STATE))
w=table(h_1$STATE)
t = as.data.frame(w)
names(t)[1] = 'region'
library(maps)
library(ggplot2)
library(ggmap)
all_states <- map_data("state")
all_states$count <- t$Freq[match(all_states$region, t$Var1)]
## HERE is the problem:
##cannot merage 'all_states' and 't' on 'region'.
Total <- merge(all_states,t, by=c("region"),all= T)

下面是我得到的结果:
Screen Shot 2017-12-06 at 2.12.48 PM.png

最佳答案

jiangbeilu 查看完整内容

这个当然不会匹配上咯 你不觉得,第1个dataframe里面的region每个前面都有个 空格 么?这两个根据就不一个地方呀 用gsub把空格替换掉吧
关键词:Dataframe Merge Frame Data Fram

沙发
jiangbeilu 学生认证  发表于 2017-12-7 03:15:03
这个当然不会匹配上咯
你不觉得,第1个dataframe里面的region每个前面都有个 空格 么?这两个根据就不一个地方呀
用gsub把空格替换掉吧

藤椅
jiangbeilu 学生认证  发表于 2017-12-7 06:46:21
看一下你的两个region是否都是字符变量。
merge里面有几个参数可以设置的,你设置ALL的时候,就是显示所有的记录的,包括没有匹配上的。

板凳
爱学习的芒果 发表于 2017-12-7 07:18:00
jiangbeilu 发表于 2017-12-7 06:46
看一下你的两个region是否都是字符变量。
merge里面有几个参数可以设置的,你设置ALL的时候,就是显示所有 ...
我刚看了一下,两个region都是character。还有就是,这两个dataframe一点都没匹配上
t长这样:
Screen Shot 2017-12-06 at 6.12.42 PM.png all_states长这样:
Screen Shot 2017-12-06 at 6.13.06 PM.png 我是希望merge完以后,所有的州都能有对应的freq显示。谢谢&#128591;!!

报纸
爱学习的芒果 发表于 2017-12-7 12:40:57 来自手机
jiangbeilu 发表于 2017-12-7 11:56
这个当然不会匹配上咯
你不觉得,第1个dataframe里面的region每个前面都有个 空格 么?这两个根据就不一 ...
太感谢了!!

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

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