楼主: 卑鄙的我lzw
2621 4

[问答] 转置后问题 [推广有奖]

  • 0关注
  • 4粉丝

硕士生

24%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
1.0000
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
1326 点
帖子
78
精华
0
在线时间
150 小时
注册时间
2017-7-18
最后登录
2021-5-10

楼主
卑鄙的我lzw 发表于 2018-11-4 11:50:03 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请问,为什么我的数据转置后,年份变量变到了最左边一列,最左边一列不应该显示1,2,3,4这些数吗?我怎么才能更改它呢?
变量名变成X我知道是因为转置前这列变量没有名称,所以自动命名为X,但是为什么1990,1991这些年份前边也加了X?


微信图片_20181104114715.png
二维码

扫码加我 拉你入群

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

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


沙发
lemon.d 发表于 2018-11-6 10:55:01
最左边是行名`row.names`,应该是转置前的列名。简单的方法是在读入数据集时不要加列名。复杂的方法就是把现在的行名给一个新的变量后,再调换顺序到第一列,并重新把1:n给行名。

藤椅
jgchen1966 发表于 2018-11-6 14:46:01
## 原数据myda中 每个变量的数据类型须相同
##  myda  为data.frame
row_names<-rownames(myda)  ##获取行名,用为转置后数据集的列变量名

   transda<-       ##  转置后的数据集
         myda%>%
         purrr::transpose()%>%  
         purrr::modify_depth(1,unlist)%>%   
         magritrr::set_names(row_names)%>%  ##  转置后的列变量名取为原数据集myda 的行名
         as.data.frame()   ##  原列变量名,变成了行名
##  此法,仅仅转置,但其他所有数据集属性均得到保留。。
##  t()  会“不经意间”改变数据集属性。。

板凳
卑鄙的我lzw 发表于 2018-11-7 19:55:05
lemon.d 发表于 2018-11-6 10:55
最左边是行名`row.names`,应该是转置前的列名。简单的方法是在读入数据集时不要加列名。复杂的方法就是把现 ...
好滴,谢谢

报纸
卑鄙的我lzw 发表于 2018-11-7 19:56:07
jgchen1966 发表于 2018-11-6 14:46
## 原数据myda中 每个变量的数据类型须相同
##  myda  为data.frame
row_names%
谢谢啦,我也发现t()会把我的数据库转变为矩阵,所以我每次都是as.data.frame(t())

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

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