2011-09-26 91 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])

這適用於字符串,要素,數字,幾乎任何可以被顯示出來。