簡體   English   中英

比較R中的因子和字符串

[英]Compare a Factor and String in R

我一直遇到這個問題,我有一個數據集,例如:

'data.frame':   5362 obs. of  5 variables:
  $ productname: Factor w/ 160 levels "Accent Mugs",..: 
  $ othervar: something else

我想按productname名稱過濾:

out_ds <- data %>% 
  filter(isTRUE(all.equal(productname, "Woven Blankets")))

那不行 如何測試因子標簽和字符串值之間的相等性?

filter語句中的all.equal正在將factor productnamestring "Woven Blankets"因此它不會返回TRUE但會返回兩個參數之間差異的描述,請參閱R文檔中的all.equal

使用iris數據集,您可以在運行時看到以下內容:

all.equal(iris$Species, "versicolor")

> "'current' is not a factor"

注釋中的@AntoniosK建議應適用於您的data.frame因為dplyr包中的filter功能可輕松與factor對象配合使用。

out_ds <- data %>% 
    filter(productname == "Woven Blankets")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM