2012-02-17 5 views
0
#creating dataframe  
df1=data.frame(c("Mary","Sarah","Linda","Mark","Shaun","Jo"),c(1,2,3,4,5,6),c(2,2,2,1,1,2)) 
names(df1)=c("a","b","c") 
#setting levels and labels for questions b and c 
blevels=c(1,2,3,4,5,6) 
blabels=c("bike","walk","car","bus","train","subway") 
clevels=c(1,2) 
clabels=c("male","female") 
#creating labelled data.frame 
df2=df1 
#applying labels 
df2$b<-factor(df1$b,blevels,blabels) 
df2$c<-factor(df1$c,clevels,clabels) 

私は調査回答用の頻度表を作成し、値ラベルを使用してより有用な頻度のタブを作成しています。data.frame内のレベルをcsvにエクスポート

頻度テーブルを作成して無効な値を削除する前にRのデータを編集し、write.csvを使用してdata.frameをエクスポートして参照します。

エクスポートされたdata.frameに、ラベルではなく各質問のコーディングが表示されます。現在、これを行うために、周波数の新しいラベル付きdata.frameを作成し、元のdata.frameをエクスポートします。

これは、参照データと解析データのフレームが異なる可能性があります。

ラベルではなくレベルをCSVファイルにエクスポートする方法はありますか?

+0

あなたは 'foreign'パッケージを試してみましたか? SPSSファイルを直接書き込むことができます。 –

+0

SPSSを使用していましたが、Rで同じ分析プロセスを複製しようとしています。SPSSリファレンスを削除するように質問を編集しました。 – BuckyOH

+0

多くの調査データを分析する予定の場合は、GitHUBの私の(まだ公開されていない)パッケージを見てください:https://github.com/andrie/surveydataおよびhttps://github.com/andrie/surveyor – Andrie

答えて

1

単一のベクターからレベルを除去する機能を作成します。

f <- function(x) { 
    if(is.factor(x)) { 
     return(as.numeric(x)) 
    } else { 
     return(x) 
    } 
} 

はdata.frameにその関数を適用します。

df <- sapply(f,df) 
+0

ありがとうございますが、元のdata.frameから値ラベルを削除するのではなく、値ラベルだけを表示しているdata.frameを印刷します。 – BuckyOH

+0

「ラベルではなくレベル」が必要でした。代わりにラベルを使用する場合は、as.numericをas.characterに変更します。 –

関連する問題