楼主: ljh971022
2598 7

[作业] 关于r语言数据合并、数据框转化和变量赋值的问题 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

大专生

96%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
1.0005
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
224 点
帖子
14
精华
0
在线时间
111 小时
注册时间
2020-1-1
最后登录
2021-11-29

楼主
ljh971022 发表于 2020-1-1 09:31:30 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
假设r语言有一个dataframe1如下(attraction和city为列名):

attraction

city

故宫

北京

长城

北京

天坛

北京

东方明珠

上海

外滩

上海

迪士尼

上海


小弟目前有两个问题:
一. r语言能不能把上面的dataframe转化为以下形式(北京和上海为列名),可以的话具体要怎么操作呢?
     由于实际的dataframe分类比展示的多很多,手动转化不太可能,所以想请请教下r语言能不能批量实现。

北京

上海

故宫

东方明珠

长城

外滩

天坛

迪士尼




二. 有另一个dataframe2如下(city和region为列名)。如果想在最上面的dataframe1里新添一列,把dataframe2的region变量加       到dataframe1里,应该怎么写命令呢?由于dataframe1里city不唯一,没办法用merge命令...

city

region

北京

华北地区

上海

华东地区




最后想达到的效果图..

attraction

city

region

故宫

北京

华北地区

长城

北京

华北地区

天坛

北京

华北地区

东方明珠

上海

华东地区

外滩

上海

华东地区

迪士尼

上海

华东地区




感谢各位大佬帮助,谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:数据合并 数据框 R语言 attraction Dataframe

沙发
conbrownkkk 发表于 2020-1-1 09:49:36
你的第一个问题中,如果北京和上海的attraction数量不一样,是不能用dataframe存储的,除非少的行用某个符号代替,比如NA。如果你不限于dataframe,可以考虑用list存储

藤椅
ljh971022 发表于 2020-1-1 10:53:45 来自手机
好的,用NA补齐就行。

板凳
ljh971022 发表于 2020-1-1 15:03:31
conbrownkkk 发表于 2020-1-1 09:49
你的第一个问题中,如果北京和上海的attraction数量不一样,是不能用dataframe存储的,除非少的行用某个符号 ...
请问 如果用na补齐的话,具体应该怎么操作呢?

报纸
cheetahfly 在职认证  发表于 2020-1-1 21:46:58
  1. library(tidyverse)
  2. # first
  3. myDf %>%
  4.   group_by(city) %>%
  5.   mutate(ref = row_number) %>%
  6.   spread(city, attraction, fill = NA) %>%
  7.   select(-ref)

  8. # second
  9. myDf %>%
  10.   left_join(myDf2, by = "city")
复制代码

地板
ljh971022 发表于 2020-1-2 11:04:05
cheetahfly 发表于 2020-1-1 21:46
谢谢!

7
ljh971022 发表于 2020-1-2 13:35:09
cheetahfly 发表于 2020-1-1 21:46
对于问题一,根据您的代码进行调试后,r显示:“Column `ref` is of unsupported type function”,请问是什么原因呢?

8
cheetahfly 在职认证  发表于 2020-1-2 23:56:55 来自手机
ljh971022 发表于 2020-1-2 13:35
对于问题一,根据您的代码进行调试后,r显示:“Column `ref` is of unsupported type function”,请问是 ...
打错了,应该是mutate(ref = row_number())

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

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