Я хотел бы удалить строку из фрейма данных и суммировать полученные столбцы. Я знаю строку, которую хочу удалить, на основе ее содержимого, но не номер строки. Ниже приводятся три примера, два из которых работают. Использование -
для удаления строки работает только в том случае, если первая строка должна быть удалена. Почему это?Удаление определенной строки без знания номера строки
Мой вопрос похож на этот: How to delete the first row of a dataframe in R? Однако там строка удаляется на основе номера строки.
# This works.
state = 'OH'
my.data = read.table(text = "
county y1990 y2000
cc NA 2
OH NA 10
bb NA 1
", sep = "", header = TRUE, na.strings = "NA", stringsAsFactors = FALSE)
my.colsums2 <- colSums(my.data[!(my.data$county == state), 2:ncol(my.data)], na.rm=TRUE)
my.colsums2
# y1990 y2000
# 0 3
# This works.
my.data = read.table(text = "
county y1990 y2000
OH NA 10
cc NA 2
bb NA 1
", sep = "", header = TRUE, na.strings = "NA", stringsAsFactors = FALSE)
my.colsums2 <- colSums(my.data[-(my.data$county == state), 2:ncol(my.data)], na.rm=TRUE)
my.colsums2
# y1990 y2000
# 0 3
# This does not work.
my.data = read.table(text = "
county y1990 y2000
cc NA 2
OH NA 10
bb NA 1
", sep = "", header = TRUE, na.strings = "NA", stringsAsFactors = FALSE)
my.colsums2 <- colSums(my.data[-(my.data$county == state), 2:ncol(my.data)], na.rm=TRUE)
my.colsums2
# y1990 y2000
# 0 11
Я предполагаю, что я до сих пор путают по разнице между !
и -
. Спасибо за любой совет.
Я думаю, что это то, что вы ищете: 'colSums (my.data [my.data $ county! =" OH ", -1], na.rm = TRUE) ' – Arun
На самом деле, два последних примера неверны, средний работает удачей. Отрицание булевой переменной получается с помощью '!', А не с '-'. –