全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1991 2
2020-04-26
求助各位,很简单的操作,但是菜鸡实在学不会了。我导入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的这三种类型。请问这个问题怎样解决?
请各位不吝赐教,感谢!




二维码

扫码加我 拉你入群

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

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

全部回复
2020-4-27 09:12:04
简单问题复杂化了。你代码形成的c1c2c3不是向量,而是矩阵,问题可能出在这里。
另外,最好不用apply,这个函数需要注意的地方很多。
换一种方式吧,直接调整s4的数据类型,不要用这么多中间过程。
二维码

扫码加我 拉你入群

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

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

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

扫码加我 拉你入群

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

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

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群