2016-11-08 6 views
-1

私は非常に単純な疑問を持っているが、私は答えを見つけることができません:私は「場合は、なぜData.frame:2つの列の連結は、代わりに出現数が

b=c("a","a","a","a","a","b","b","b","b","c") 
c=c("b","b","b","b","b","c","c","c","c","d") 

a<-data.frame(b,c) 

:私はこのdata.frameを持っていますこれで1列にa$ba$cベクトルを置くのが好きdは:

f<-c(a$b,a$c) 

を結果が好きされていない

> f<-c(b,c) 
> f 
[1] "a" "a" "a" "a" "a" "b" "b" "b" "b" "c" "b" "b" "b" "b" "b" "c" "c" "c" "c" "d" 

でも

> f<-c(a$b,a$c) 
> f 
[1] 1 1 1 1 1 2 2 2 2 3 1 1 1 1 1 2 2 2 2 3 

? ありがとうございます!

EDIT: が可能重複を見て、これを試しましたが、上記提案:

> a<-data.frame(z=as.character(b),k=as.character(c)) 
> f<-c(a$z,a$k) 
> f [1] 1 1 1 1 1 2 2 2 2 3 1 1 1 1 1 2 2 2 2 3 
+0

(http://stackoverflow.com/questions/2851015/convert-data-frame-columns-from-factors-to-characters)文字要素からdata.frame列を変換]の可能な重複 –

+0

こんにちは、私は間違っていない場合は動作しませんが、ソリューションははいの下に! – user6498650

+0

基本的には、factorを文字と見なして別の操作をしようとすると、これは非常に一般的な問題です。 'f < - c(as.character(a $ z)、as.character(a $ k))'を実行すると、 –

答えて

2

あなたはdata.frame()機能にFALSEstringsAsFactorsを設定する必要があります。それ以外の場合は、文字列が要因として解釈され、望ましくない出力が発生します。

b <- c("a","a","a","a","a","b","b","b","b","c") 
c <- c("b","b","b","b","b","c","c","c","c","d") 

a <- data.frame(b,c, stringsAsFactors = F) 

f <- c(a$b,a$c) 

f 
[1] "a" "a" "a" "a" "a" "b" "b" "b" "b" "c" "b" "b" "b" "b" "b" "c" "c" "c" "c" "d" 
関連する問題