全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
6274 9
2017-06-28
悬赏 1 个论坛币 已解决
各位R语言大侠,我做的数据的性质是这样的> str(M) num [1:17, 1] 0.087 0.174 0.261 0.304 0.391 ... - attr(*, "dimnames")=List of 2  ..$ : chr [1:17] "843.029368" "1019.344596" "1254.425857" "1413.339891" ...  ..$ : NULL怎样把数据里的 "843.029368" "1019.344596" "1254.425857" "1413.339891" ...转换成数字型,或者怎样访问到这个字符型的数据?因为访问不到所以没法转换。> M[,1] 843.029368    1019.344596 1254.425857 1413.339891 1483.142369 1509.056375       0.087       0.174       0.261       0.304       0.391       0.4784  > M[1,]843.029368      0.087 如上所示,没法访问或提取这个向量"843.029368" "1019.344596" "1254.425857" "1413.339891" ... 请各位大侠帮忙!谢谢各位!

最佳答案

jiangbeilu 查看完整内容

用names(M)就可以找到你需要的数据。 M1
二维码

扫码加我 拉你入群

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

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

全部回复
2017-6-28 12:29:43
znn_0802 发表于 2017-6-30 12:32
您好,请看下我上面的回复,数据在回复的附件里,请您帮忙看一下。谢谢您!
用names(M)就可以找到你需要的数据。
M1 <- as.numeric(names(M))
names(M) <- NULL
M 就是一个不包含名称的向量
二维码

扫码加我 拉你入群

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

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

2017-6-29 09:33:57
这个M是一个list吧,需要先用M[[1]]来提取第一部分,如果这部分是data.frame,那么再根据data.frame的规则进行提取。
请用as.numeric()函数进行转化。
如果不能转化,则需要将向量里的非数值进行清理,有时候可能是一个点,或者NULL,都变成NA就可以了。
二维码

扫码加我 拉你入群

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

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

2017-6-29 12:11:14
jiangbeilu 发表于 2017-6-29 09:33
这个M是一个list吧,需要先用M[[1]]来提取第一部分,如果这部分是data.frame,那么再根据data.frame的规则进 ...
您好,谢谢您的回答。可是M[1]最终还是将结果的字符部分和数值部分同时提取出来了,即如下结果:
> M[1]
843.029368
0.08695652
我也用过as.numeric()函数转换,但是转换的结果是这样的:
> b<-as.numeric(M)
> b
[1] 0.08695652 0.17391304 0.26086957 0.30434783 0.39130435 0.47826087 0.52173913
[8] 0.60869565 0.65217391 0.69565217 0.73913043 0.78260870 0.82608696 0.86956522
[15] 0.91304348 0.95652174 1.00000000
可是我需要将
843.029368,1019.344596,1254.425857,1413.339891,1483.142369,1509.056375,1631.761264,2321.958597,3073.566814,3122.96811,3603.794631,3840.44455,3994.477386,4050.149902,4229.489091,7215.181669,9981.56995这组字符型的表头也提取出来,然后画两者的关系图。但现在就是提取不出来。要么就是数值型数据出来像b结果,要么就是数值和字符一起出来像M[1]结果,但是两者就是分不开
请帮忙想个办法。
>str(M)
Named num [1:17] 0.087 0.174 0.261 0.304 0.391 ...
- attr(*, "names")= chr [1:17] "843.029368" "1019.344596" "1254.425857" "1413.339891"
二维码

扫码加我 拉你入群

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

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

2017-6-29 17:39:27
znn_0802 发表于 2017-6-29 12:11
您好,谢谢您的回答。可是M[1]最终还是将结果的字符部分和数值部分同时提取出来了,即如下结果:
> M[1] ...
双中括号提取
二维码

扫码加我 拉你入群

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

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

2017-6-29 19:15:55
jiangbeilu 发表于 2017-6-29 17:39
双中括号提取
> M[[1]]
[1] 0.08695652
> M[[2]]
[1] 0.173913

还是不对,还是只能提取到数字部分的内容,字符的数据还是不能单独提取。请问还有别的办法么?
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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