楼主: bolabababa
1990 2

[问答] 不同类型的向量合并成data frame [推广有奖]

  • 0关注
  • 0粉丝

高中生

52%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
63 点
帖子
3
精华
0
在线时间
57 小时
注册时间
2020-3-30
最后登录
2020-10-22

楼主
bolabababa 发表于 2020-4-26 17:24:59 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
求助各位,很简单的操作,但是菜鸡实在学不会了。我导入csv文件之后,所有数值都是character类型,我想改变各例数据的类型之后再重新合并成一个data frame。现在得到了三个向量,c1,c2,c3,

c1<-apply(s4[c(2,3,4,5,6,8,9,12,13,14,15,16,17,18,20)],2,as.numeric)
c2<-as.factor(s4[c(19)])
c3<-apply(s4[c(7,10,11)],2,as.character)

之后分别class这个c1,c2,c3,得到的结果也都是不同类型

> apply(c1,2,class)   trialNO      armNO       week         no     ASAS20       FLAG       DOSE  "numeric"  "numeric"  "numeric"  "numeric"  "numeric"  "numeric"  "numeric" MethodFlag       Male        age       Dist     BASDAI      BASFI    CRPmgdL  "numeric"  "numeric"  "numeric"  "numeric"  "numeric"  "numeric"  "numeric"        tp1  "numeric" > apply(c3,2,class)  treatment     Regimen     method1 "character" "character" "character" > class(c2)[1] "factor"

但是我想把他们仨组合成一个新的data frame的时候
s5<-data.frame(c1,c2,c3)
再class s5显示的结果就是所有列都是character类型了。

> apply(s5,2,class)    trialNO       armNO        week          no      ASAS20        FLAG        DOSE "character" "character" "character" "character" "character" "character" "character"  MethodFlag        Male         age        Dist      BASDAI       BASFI     CRPmgdL "character" "character" "character" "character" "character" "character" "character"         tp1          c2   treatment     Regimen     method1 "character" "character" "character" "character" "character"

我想让这个data frame包含c1,c2,c3的这三种类型。请问这个问题怎样解决?
请各位不吝赐教,感谢!




二维码

扫码加我 拉你入群

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

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


沙发
llb_321 在职认证  发表于 2020-4-27 09:12:04
简单问题复杂化了。你代码形成的c1c2c3不是向量,而是矩阵,问题可能出在这里。
另外,最好不用apply,这个函数需要注意的地方很多。
换一种方式吧,直接调整s4的数据类型,不要用这么多中间过程。
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

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

藤椅
bolabababa 发表于 2020-4-27 10:41:10
llb_321 发表于 2020-4-27 09:12
简单问题复杂化了。你代码形成的c1c2c3不是向量,而是矩阵,问题可能出在这里。
另外,最好不用apply,这个 ...
好的谢谢您,直接调取s4里的数据调整成功了,感谢

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

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