私たちにできることは、問題の原因を推測することだけです。
これが私の推測です。「filter_name」列には空白が含まれているため、空白を削除するまで実際に「ブランド」を探すべきではありません。
私の推測が正しければ、問題を再現する最小限の例を次に示します。
まず、いくつかのサンプルデータ:
mydf <- data.frame(Param = c(" Brand ", "Operating System",
"Type ", " Brand ", "Type ",
"Type ", " Brand ", "Type ",
" Brand "), Value = 1:9)
unique(mydf[["Param"]])
# [1] Brand Operating System Type
# Levels: Brand Operating System Type
subset(mydf, Param == "Brand")
# [1] Param Value
# <0 rows> (or 0-length row.names)
引数とともに使用print
して、 :quote = TRUE
の空白を確認します。data.frame
print(mydf, quote = TRUE)
# Param Value
# 1 " Brand " "1"
# 2 "Operating System" "2"
# 3 "Type " "3"
# 4 " Brand " "4"
# 5 "Type " "5"
# 6 "Type " "6"
# 7 " Brand " "7"
# 8 "Type " "8"
# 9 " Brand " "9"
それが問題である場合は、クイックgsub
で修正する必要があります。
mydf$Param <- gsub("^\\s+|\\s+$", "", mydf$Param)
unique(mydf[["Param"]])
# [1] "Brand" "Operating System" "Type"
subset(mydf, Param == "Brand")
# Param Value
# 1 Brand 1
# 4 Brand 4
# 7 Brand 7
# 9 Brand 9
また、デフォルトで。になっているinおよびfamilyのstrip.white
引数を調べることもできます。を使用してデータを再読み込みしてから、サブセット化を試してください。read.table
FALSE
strip.white = TRUE