2016-07-30 14 views
2

ここに私の簡単なRコードがあります。私は1より小さい値しか保持しません。未定義列のエラーR

いいアイデアはありますか?ありがとう。

df <- read.csv('~/Downloads/foo.tsv', sep='\t', header=F, stringsAsFactors=FALSE) 
names(df) <- c('foo') 
df$foo <- as.numeric(df$foo) 

goodValue <- df[df$foo <= 1] 

最後の行は、次のエラーがあります。

Error in [.data.frame (df, df$foo <= 1) : undefined columns selected

+1

とを使用することができますがもらえ私たちはloあなたのデータを確認し、期待される出力を確認してください。 – rosscova

答えて

1
goodValue <- df[df$foo <= 1,] # if you want all columns 
goodValue <- df$foo[df$foo <= 1] # if you only want foo (if you had multiple columns) 
+0

Hack-Rに感謝し、なぜ投票が必要なのか疑問に思っています。私のデータ 'df'には1つの列しかありません。 –

+1

@LinMaようこそ。それは単に列を参照するためのdata.frameの構文です。 1列しか持たないのであれば、実際にdata.frameクラスを使う必要はありません。そのクラスの構文を書くときに、インデックス参照を評価する前にカラムの数をチェックしませんでした。 –

+1

私の理解を正しくしてくれてありがとう、Hack-Rに感謝して、良い週末を過ごしてください。応答として回答を記入してください。 –

1

を我々はdata.table

library(data.table) 
setDT(df)[foo <= 1] 

それともdplyr

library(dplyr) 
df %>% 
    filter(foo <= 1)