Có chức năng đếm số lần từ khóa cụ thể được chứa trong tập dữ liệu không?Đếm số lần xuất hiện từ trong R
Ví dụ, nếu dataset <- c("corn", "cornmeal", "corn on the cob", "meal")
số lượng sẽ là 3.
Có chức năng đếm số lần từ khóa cụ thể được chứa trong tập dữ liệu không?Đếm số lần xuất hiện từ trong R
Ví dụ, nếu dataset <- c("corn", "cornmeal", "corn on the cob", "meal")
số lượng sẽ là 3.
Hãy cho thời điểm này giả sử bạn muốn số của nguyên tố có chứa "ngô":
length(grep("corn", dataset))
[1] 3
Sau khi bạn nhận được những điều cơ bản của R xuống tốt hơn bạn có thể muốn xem gói "tm".
EDIT: Tôi nhận ra rằng thời gian này xung quanh bạn muốn bất kỳ "ngô" nhưng trong tương lai bạn có thể muốn nhận được từ "ngô". Qua trên r-giúp Bill Dunlap đã chỉ ra một mô hình grep nhỏ gọn hơn để thu thập toàn bộ từ:
grep("\\<corn\\>", dataset)
Một khá thuận tiện và trực quan cách để làm điều đó là sử dụng str_count
chức năng của gói stringr
:
library(stringr)
dataset <- c("corn", "cornmeal", "corn on the cob", "meal")
# for mere occurences of the pattern:
str_count(dataset, "corn")
# [1] 1 1 1 0
# for occurences of the word alone:
str_count(dataset, "\\bcorn\\b")
# [1] 1 0 1 0
# summing it up
sum(str_count(dataset, "corn"))
# [1] 3
Bạn cũng có thể làm điều gì đó như sau:
length(dataset[which(dataset=="corn")])
Bạn có thể chia các vectơ trên "", làm uniqu e và chạy bảng trên toàn bộ điều. :) –
Phải. Làm nổi bật sự mơ hồ của câu hỏi ban đầu. Tôi không thể tìm ra lý do tại sao 4 là con số đúng. Phương pháp của bạn sẽ trả về 2 cho "bắp", 1 cho "bữa ăn" và 1 cho "bột ngô". Cách greppish để đếm các từ được phân tách bằng dấu cách "corn" có thể là: length (grep ("^ corn $ |^corn | corn $", tập dữ liệu)) –
Đó là lỗi đánh máy. Số lượng sẽ là 3. – LNA