У меня есть кадр данных, в котором я хотел бы подсчитывать только строки, начинающиеся с R34_, и их столбец x == 3.
x
R34_sdasdsa 3
R34_sdasdsa 3
R36_sdasdsa 1
У меня есть кадр данных, в котором я хотел бы подсчитывать только строки, начинающиеся с R34_, и их столбец x == 3.
x
R34_sdasdsa 3
R34_sdasdsa 3
R36_sdasdsa 1
Предполагая, что R34_
на самом деле являются именами строк вашего фрейма данных (давайте назовем его df
) и что у вас есть другие столбцы в дополнение к x
, вы можете подмножить фрейм данных, используя квадратные скобки, а затем подсчитать строки, используя nrow()
new_df <- df[(startsWith(rownames(df), "R34_")) & (df$x == 3), ]
nrow(new_df)
# [1] 2
В противном случае, если x
является единственным столбцом вашего фрейма данных, приведенный выше результат принесет вам NULL
, потому что операция подмножества вернет вектор вместо фрейма данных. В этом случае вам следует попробовать length()
length(df[(startsWith(rownames(df), "R34_")) & (df$x == 3), ])
# [1] 2