2017-04-22 13 views
-1

私はちょうど最近Rを学習し始めた初心者です。これは非常に基本的な質問かもしれませんが、それは私に2時間頭痛を与えます。助けてください。data.frameから条件付きで値を抽出する方法は?

質問です:

ときのData1 =アイリス、 は、そのSepal.Width以上2倍に等しいものを観測 そのPetal.Lengthを削除し、新しいオブジェクトデータ2に残りの観測を置きます。 Data2をnewData.txtという名前のファイルとしてエクスポートします。行の名前はなく、各変数の名前を指定します。データをエクスポートするためのコマンドを表示するだけです。また

、私はそこに立ち往生していますので、私は次の質問に先行することができない。

インポート新しいオブジェクトデータ3へのファイルnewData.txtからのデータ。 Data3 はData2と同じである必要があります。 (i)Data3の観測数、(ii)Data3のversicolorの数を報告する。

助けてください。君たちありがとう。

+0

検索SO用語 "サブセット" と –

+0

オーマイ!!!!!!!!!!!!!!!!神に感謝それはとても簡単でした。それは近いですか? > Data2 = subset.data.frame(Data1、Data1 $ Sepal.Width> = 2 * Data1 $ Petal.Length) – Larry

+1

"サブセット" - 式の列名の前に "Data1 $"を入れないでください。そして、 "覚えている!"論理式が論理補数を与える前に。 –

答えて

0

$、!、[]の基本を学ぶ価値がありますが、dplyrはデータ操作に役立つパッケージです。面白いと思われるものが見つかった場合は、vignette()を参考にして、vignette('name')と入力してください。

まだR GUIを使用している場合は、IDEとしてwww.rstudio.comをお勧めします。 dplyrを使用して、あなたの質問に関しては

、:

require(dplyr) 

data1 <- as.tbl(iris) 
data2 <- iris %>% filter(!(Sepal.Width >= 2 * Petal.Length)) 

write.table(data2, file='newData.txt',row.names=FALSE) 
data3 <- read.table('newData.txt',header=TRUE, sep=' ') 

identical(data2,data3) 

data3 %>% summarize(nobs=n(), speciesversicolor=n_distinct(Species)) 
関連する問題