【问题标题】:How to delete a row in a data frame by name in R如何在R中按名称删除数据框中的一行
【发布时间】:2016-05-30 12:40:59
【问题描述】:

我正在尝试从数据框中删除一行,其中每一行都有一个名称。我不能使用索引来删除行,只有它的名称。我有这个数据框:

DF<- data.frame('2014' = c(30,20,4, 50), '2015' = c(25,40,6, 65), row.names = c("mobile login", "computer login","errors", "total login"))

我试过了

DF["mobile login",] <- NULL

DF <- DF[-"mobile login",]

还有更多没有结果的组合。

我能做什么?谢谢

PS:最后一行是前两行之和(实际DF中还有其他的,这只是一个例子),加了之后就不需要了,只需要结果,“总数”登录”值。

【问题讨论】:

    标签: r dataframe


    【解决方案1】:

    %in% 与数据框的适当子集一起使用。要删除名为 errorsmobile login 的行,您可以使用以下代码:

    row.names.remove <- c("errors", "mobile login")
    
    > DF[!(row.names(DF) %in% row.names.remove), ]
                   X2014 X2015
    computer login    20    40
    total login       50    65
    

    【讨论】:

    • 啊。我最喜欢 R 语言:简单直观的语法!特别是对于像删除一行这样复杂的任务。谢谢你提供这个,它把我的试错时间缩短了几个小时。
    • 这个方法把我的 DF 变成了一个数字并丢失了行名
    猜你喜欢
    • 2011-07-11
    • 2012-07-18
    • 2011-06-04
    • 1970-01-01
    相关资源
    最近更新 更多