0 like 0 dislike

Trong 1 file, ví dụ như có các dữ liệu : du lieu, hoc sinh, sinh vien; để đếm được có bao nhiêu ký tự o, c, d,... thì làm sao?

in R by

1 Answer

0 like 0 dislike

Không hiểu ứng dụng của việc này là gì nên giả sử dữ liệu ở trên ở dạng một vector

foo <- c('du lieu', 'hoc sinh', 'sinh vien')

Vẫn là lợi dụng các regex, cách đếm, v.d. số chữ n trong toàn bộ vector, có thể tìm thủ công với grep, tuy nhiên có thể dùng gói stringr với rất nhiều chức năng sẵn có. V.d. để tìm như yêu cầu trên dùng hàm str_count()

#R
> library(stringr)
> str_count(foo, "a")
[1] 0 0 0
> str_count(foo, "n")
[1] 0 1 2
by (100 points)
0 0

cám ơn bạn, nhưng ý hỏi ở đây là muốn trả về kết quả tổng số ký tự. ví dụ
foo <- c('du lieu', 'hoc sinh', 'sinh vien') sử dụng lệnh gì để có được kết quả

d c i e ,...
1 1 3 2 ....

0 0

Vẫn dùng lệnh trên, lấy tổng

bar <- c('d', 'c', 'i', 'e')
for (i in bar) {
   cat(i,sum(str_count(foo, i)), fill = T)
}
d 1
c 1
i 4
e 2
0 0

Cảm ơn bạn nhiều, mình làm được rồi. Nhưng thế này, trong file của mình có nhiều dữ liệu, có cả 24 ký tự, nếu vậy cũng thiết lập bar <- c('a', 'b', 'c', 'd', 'e', 'f',...)?

Cho mình hỏi thêm: sao mình gán biến vào dòng lệnh for mà không được, v.d.:

data<- for (i in bar) {
   cat(i,sum(str_count(foo, i)), fill = T)
}

rồi mình goi data chương trình báo NULL? Vì mình muốn tính số lượng từng ký tự/tổng số lượng tất cả các ký tự (tổng số a/tổng(a+b+c+....))

0 0

Trong R có sẵn bảng chữ cái, nếu không có gì đặc biệt bạn có thể dùng

> letters
 [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s"
[20] "t" "u" "v" "w" "x" "y" "z"

Vế sau bạn chọn đặt câu hỏi mới liên quan.

0 0

cảm ơn bạn nhiều

Related questions

0 like 0 dislike
1 answer
0 like 0 dislike
1 answer
0 like 0 dislike
1 answer
asked Apr 9, 2015 in R by Thanh Thùy | 287 views
0 like 0 dislike
0 answers
asked Apr 8, 2015 in R by Nguyễn Minh | 179 views
0 like 0 dislike
0 answers
asked Sep 1, 2014 in R by Dương Thùy | 10.3k views