亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

根據涉及字段的條件提取數據幀的子集

根據涉及字段的條件提取數據幀的子集

元芳怎么了 2019-08-13 10:13:04
根據涉及字段的條件提取數據幀的子集我有一個大的CSV,其中包含來自不同位置的醫學調查結果(該位置是數據中存在的因素)。由于某些分析特定于某個位置并且為了方便起見,我想僅從這些位置提取具有行的子幀。碰巧該位置是第一個字段所以是的,我可以通過對CSV行進行排序來實現,但我想學習如何在R中進行操作,因為我確信我需要將其用于其他列。所以,簡而言之,問題是:給定一個數據框foo,如何創建另一個數據框條,其中只包含來自foo的行foo$location = 'there'?
查看完整描述

2 回答

?
天涯盡頭無女友

TA貢獻1831條經驗 獲得超9個贊

以下是兩種主要方法。我更喜歡這個因為它的可讀性:

bar <- subset(foo, location == "there")

請注意,您可以使用&|將許多條件串起來并創建復雜的子集。

第二種是索引方法。您可以使用數字或布爾切片為R中的行編制索引。foo$location == "there"返回一個矢量TF值,其長度與行的長度相同foo。您可以這樣做只返回條件返回true的行。

foo[foo$location == "there", ]


查看完整回答
反對 回復 2019-08-13
?
慕妹3146593

TA貢獻1820條經驗 獲得超9個贊

只是為了擴展上面的答案,你也可以索引你的列而不是指定列名,這也可能是有用的,這取決于你正在做什么。鑒于您的位置是第一個字段,它看起來像這樣:

    bar <- foo[foo[ ,1] == "there", ]

這很有用,因為您可以對列值執行操作,例如循環遍歷特定列(您也可以通過索引行號來執行相同操作)。

如果您需要對多個列執行某些操作,這也很有用,因為您可以指定一系列列:

    foo[foo[ ,c(1:N)], ]

或者特定列,正如您所期望的那樣。

    foo[foo[ ,c(1,5,9)], ]


查看完整回答
反對 回復 2019-08-13
  • 2 回答
  • 0 關注
  • 558 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號