楼主: 千车麦穗
3353 1

[学习分享] tibble的应用求助 [推广有奖]

  • 5关注
  • 0粉丝

已卖:1份资源

博士生

0%

还不是VIP/贵宾

-

威望
0
论坛币
89 个
通用积分
6.7270
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1864 点
帖子
84
精华
0
在线时间
292 小时
注册时间
2019-4-22
最后登录
2025-10-22

楼主
千车麦穗 发表于 2022-3-22 12:03:12 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
各位老师好,我想把一个list中的两个数据框(分别命名为DO和Salinity,如图1)进行数据变换(由宽变长),然后将转换后的数据列命名以数据框的名称命名(图3的箭头所示)……数据已上传附件,我用的是tibble函数,但最后一步始终无法完成,求各位老师指教。
  1. env_data
  2. dfa <- tibble(Index = names(env_data),
  3.         data = env_data) %>%
  4.   # mutate(data_trans = Index)
  5.   mutate(data_trans = map(data,function(x){
  6.                           pivot_longer(x,
  7.                           cols = colnames(x)[-1],
  8.                       names_to = 'year',
  9.                      values_to = "Index")
  10.    
  11.     }))
复制代码
图1
env.png 图2
env2.png
图3(期待的效果是将数据框名称,即DO或Salinity,替换为Index)
env3.png


二维码

扫码加我 拉你入群

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

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

关键词:BBL function longer values Index

沙发
千车麦穗 发表于 2022-3-22 14:51:40
没有找到能够一步到位的方法,只能这样了:
dfb = dfa %>% pull(data_trans)
dfc <- lapply(names(dfb), function(x) {
    names(dfb[[x]])[3] <- x  
  return(dfb[[x]])
  })
已有 1 人评分论坛币 收起 理由
jiangbeilu + 5 精彩帖子

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

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

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