2011-09-26 92 views
4

我想这个转换的向量:转换数值型向量转换为字符串

> j[1:5] 
NA06985 NA06991 NA06993 NA06994 NA07000 

进入这个:

c("NA06985","NA06991","NA06993", "NA06994", "NA07000") 

我一直在使用as.character尝试,但它给了我:

> as.character(j[1:5]) 
[1] "10" "10" "10" "10" "10" 

请帮忙! -Josh

编辑: 好吧,所以我想我想通了。在做完class(j)后,我发现它是data.frame类型的。所以我转换为asmatrix,它的工作..hooray!

+1

如果你分享'str(j)'的输出,这个答案可能会相当简单。 – joran

+2

你可以发表*完全*你看到什么时,你键入j [1:5]?什么是类(j)? – mdsumner

+0

'typeof(j)'是什么? – 2011-09-26 04:42:08

回答

0

好了,所以我想我想通了。在做完class(j)后,我发现它是data.frame类型的。所以我转换为asmatrix,它的工作..hooray!

0

Assumming即j是一个因素

> j <- factor(c("NA06985","NA06991","NA06993", "NA06994", "NA07000", "extra level")) 
> j 
[1] NA06985  NA06991  NA06993  NA06994  NA07000  extra level 
Levels: extra level NA06985 NA06991 NA06993 NA06994 NA07000 
> levels(j)[j[1:5]] 
[1] "NA06985" "NA06991" "NA06993" "NA06994" "NA07000" 
+1

这很好,但as.character(j [1:5])也适用于这种情况。在OP的问题中,似乎j有些不同,或者他们根本就没有准确地报告问题。 – mdsumner

1

paste(j[1:5])

这适用于字符串,要素,数字,几乎任何可以被显示出来。