[英]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
productname
與string
"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.