2016-12-18 21 views
1

I持って、次のデータフレームdatとリストbR - テキストファイルをリストに読み込むには?

Word = c("FOO", "BAM", "ZIP") 
Count = c(7, 6, 2) 
dat = data.frame(Word, Count) 

b<-c("FOO") 

私はそうのようにTRUEまたはFALSE印刷しdatで3番目のカラム作成しています:

dat<-data.frame(dat$Word,dat$Count, dat$Word %in% b) 
colnames(dat)<-c("Word","Count","Condition") 

このプリントを:

>dat 
Word Count Condition 
FOO  7  TRUE 
BAM  6  FALSE 
ZIP  2  FALSE 

これまでのところとても良いです。ここでbを手作業で作成する代わりに、改行で区切ったファイルをRに読み込み、上記のコードを使用して3列のデータフレームdatを作成することができます。

は、ここで私の意味は次のとおりです。ただし

df1 <- read.table(text="FOO\nCAT\nDOG\nFISH\n") 
dat<-data.frame(dat$Word,dat$Count, dat$Word %in% df1) 
colnames(dat)<-c("Word","Count","Condition") 

、この版画:代わりに、それは前に働いていたかの

>dat 
Word Count Condition 
FOO  7  FALSE 
BAM  6  FALSE 
ZIP  2  FALSE 

。私の質問:words.txtというファイルをdf1にインポートするにはどうすればいいですか?上記のコードはまだ動作しますか?

答えて

2

「DF1は、」デフォルトの命名として列「V1」でdata.frameを返す、だから我々はその列を抽出する必要が

data.frame(Word = dat$Word,Count=dat$Count, Condition= dat$Word %in% df1[[1]]) 
# Word Count Condition 
#1 FOO  7  TRUE 
#2 BAM  6  FALSE 
#3 ZIP  2  FALSE 

つまり、我々がvectorとしてこれを必要とする場合、我々は直接することができますscan

v1 <- scan(text="FOO\nCAT\nDOG\nFISH\n", what="", quiet=TRUE) 
transform(dat, Condition = Word %in% v1) 
# Word Count Condition 
#1 FOO  7  TRUE 
#2 BAM  6  FALSE 
#3 ZIP  2  FALSE 

NOTEとそれを得る:listvector異なっています。 listでは、エレメントは異なるタイプであってもよいが、vectorではすべてが同じtypeである。必要な出力に基づいて、vectorがここで目指しているようです。

関連する問題