Есть несколько вопросов, касающихся этого, но моя проблема, похоже, не соответствует другим: у меня есть столбец под названием «Время», который может быть либо 0, либо 1. Основанный на этом значении я бы использовал значения в другом столбце в той же строке.Отображение конкретных столбцов в r на основе значения
Например, я хочу отобразить сводку всех слов в столбце Node, но только для тех столбцов, чье время == 1. Другими словами: если Time == 1, отобразите значение столбца Node в той же строке.
Я пробовал:
summary(d[d$Time=="1", ]$Node)
Однако это также показывает слова, которые не принадлежат к времени == 1. Тогда эти слова имеют значение 0.
Пример:
Допустим, это d:
Time - Node
0 Banana
1 Apple
1 Banana
0 Strawberry
1 Apple
0 Coconut
1 Peach
Вывод должен быть:
Apple 2
Banana 1
Peach 1
И не
Apple 2
Banana 1
Peach 1
Strawberry 0
Coconut 0
Вы могли бы также aggreagte и подмножество: 'х <- агрегатный (Time ~ Node, ДФ, FUN = сумма); x [x $ Time> 0,] ' –
Или, возможно, более канонический обман [** здесь **] (http://stackoverflow.com/questions/1195826/dropping-factor-levels-in-a-subsetted-data -frame-in-r) с несколькими способами сбросить неиспользуемые уровни. – Henrik
Или просто для fun 'library (data.table); setDT (d) [, sum (Time) [sum (Time)> 0], keyby = Node] ' –