ColSum символов - PullRequest
       19

ColSum символов

0 голосов
/ 04 июня 2018

Я ищу, чтобы создать общий столбец, который подсчитывает количество ячеек в конкретной строке, которая содержит символьное значение.Значения будут только 1 из 3 разных букв (R или B или D).Поэтому, используя пример из приведенного ниже сценария, результаты будут такими: p1= 2, p2=1, p3=2, p4=1, p5=1

Я думаю использовать nrow с условиембыл бы способ пойти, но я не могу заставить это работать.Примерно так:

# count the number of columns where the cell is not blank (or contains an R,B,D)
test$tot <- nrow(!test="") 

Любая помощь очень ценится!

---------------- скрипт для справки:

  column1 <- c("p1","p2","p3","p4","p5")
  column2 <- c("R","","R","R","")
  column3 <- c("","B","","","B")
  column4 <- c("D","","D","","")
  test <- data.frame(column1,column2,column3,column4)
  colnames(test)[c(1:4)] <- c("pol_nbr","r1","r2","r3")
  View(test)

Ответы [ 2 ]

0 голосов
/ 04 июня 2018

Использование rowSums:

test$tot_cols <- rowSums(test[, -1] != "") 
0 голосов
/ 04 июня 2018

Преобразует коэффициенты в символы и использует nzchar ():

test <- data.frame(column1, column2, column3, column4, stringsAsFactors = FALSE)

test$ne <- rowSums(apply(test[-1], 2, nzchar))
test
  column1 column2 column3 column4 ne
1      p1       R               D  2
2      p2               B          1
3      p3       R               D  2
4      p4       R                  1
5      p5               B          1
...