【问题标题】:Subsetting factors from one column一列的子集因子
【发布时间】:2014-04-02 21:51:42
【问题描述】:

我有数据集 (b.data),其中包含调查中记录的海洋物种信息。每行与一个单独的动物相关,列标题如下:

“区域”“年份”“巡航”“船只”“运输”“运输 ID”“通用名称” "Scientific_Name" "Length_mm" "Sex" "Width"

我想对数据进行子集化,以仅包含某些物种进行分析。我已经编写了下面的代码命名我想要包括的物种(31 种)

species.list <- c("Blonde ray","Brown crab","Cod","Common dab", ... etc

我不知道如何编写代码,然后从整个数据集中对这些行进行子集化。我已经尝试了下面的代码,但它返回 0 个观察结果。

z=b.data[rownames(b.data$Common_name) %in% species.list,]

【问题讨论】:

  • 试试z &lt;- b.data[ b.data$Common_name %in% species.list, ]

标签: r


【解决方案1】:

我想差不多了 - 怎么样

z=b.data[b.data$Common_name %in% species.list,]

【讨论】:

    【解决方案2】:

    你只需要摆脱row.names()。考虑:

    b.data <- data.frame(Common_name=c("Blonde ray","Brown crab","Cod",
                                       "Common dab", LETTERS[1:7]), 
                         x=rnorm(11))
    b.data
    #    Common_name          x
    # 1   Blonde ray  0.3631655
    # 2   Brown crab -0.6668250
    # 3          Cod -0.2829071
    # 4   Common dab  0.3893549
    # 5            A  0.7206768
    # 6            B -0.9790288
    # 7            C -0.5366370
    # 8            D  1.9940040
    # 9            E  1.2800009
    # 10           F -0.2024495
    # 11           G -2.1230087
    

    这是row.names() 返回的内容:

    row.names(b.data)
    # [1] "1"  "2"  "3"  "4"  "5"  "6"  "7"  "8"  "9"  "10" "11"
    row.names(b.data$Common_name)
    #
    

    对于b.data,它是行号,因为我没有分配任何行名,而b.data$Common_name 只是数据框中的一个变量,它根本没有任何行名。如果你离开row.names(),你会得到以下结果:

    species.list <- c("Blonde ray","Brown crab","Cod","Common dab")
    z = b.data[b.data$Common_name %in% species.list,]
    z
    #   Common_name          x
    # 1  Blonde ray  0.3631655
    # 2  Brown crab -0.6668250
    # 3         Cod -0.2829071
    # 4  Common dab  0.3893549
    

    【讨论】:

    • 不客气,@user3489562。如果这些答案对您有所帮助,您可能希望通过单击其左上角投票总数下方的复选标记来接受其中一个。
    猜你喜欢
    • 2012-11-26
    • 2013-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-09
    • 2023-04-03
    • 2022-01-17
    • 1970-01-01
    相关资源
    最近更新 更多