Самое важное здесь следующее:
Я думаю, что это не работает, потому что когда я просто распечатываю данные [1,] $ Manufacturer, возвращается больше, чем просто столбец. Что-то про "Уровни" тоже возвращается:
Если он возвращается с «Уровнями», то это означает, что ваша переменная имеет коэффициент . Я действительно рекомендую вам посетить эту страницу или эту страницу , чтобы узнать об основных типах данных в R.
Создать фрейм данных
df = data.frame(A = c("Aa", "Bb","Cc", "Dd"),B=c(1,2,3,4), C=c(5,6,7,8))
str(df)
#> 'data.frame': 4 obs. of 3 variables:
#> $ A: Factor w/ 4 levels "Aa","Bb","Cc",..: 1 2 3 4
#> $ B: num 1 2 3 4
#> $ C: num 5 6 7 8
Следуя примеру ТАК , вы сказали, что пытались:
"Aa" %in% df
#> [1] FALSE
any(df=="Aa")
#> [1] TRUE
Reduce("|", df=="Aa")
#> [1] TRUE
length(which(df=="Aa"))>0
#> [1] TRUE
is.element("Aa",unlist(df[1,]))
#> [1] FALSE
Переход к исходным попыткам:
## Search when column 1 ("A") is a *factor*
"Aa" %in% df[1,] # Checking the entire row for a CHARACTER elemtn "Aa"
#> [1] FALSE
"Aa" %in% df[1,1] # Checking the first row and first column for character element "Aa"
#> [1] TRUE
"Aa" %in% df$A # Index a speific column
#> [1] TRUE
factor("Aa") %in% df$A # Also works if we specify the search criterion as a factor
#> [1] TRUE
Поиск, когда столбец 1 («A») имеет коэффициент :
# Force df$A to a character
df$A <- as.character(df$A)
str(df) #now we have a character, numeric, and numeric
#> 'data.frame': 4 obs. of 3 variables:
#> $ A: chr "Aa" "Bb" "Cc" "Dd"
#> $ B: num 1 2 3 4
#> $ C: num 5 6 7 8
Вы изначально пытались сканировать всю строку:
"Aa" %in% df[1,]
#> [1] TRUE
Попробуйте другие варианты снова, просто чтобы проверить поведение:
"Aa" %in% df[1,1] # Checking the first row and first column for character element "Aa"
#> [1] TRUE
"Aa" %in% df$A # Index a speific column
#> [1] TRUE
factor("Aa") %in% df$A # Also works if we specify the search criterion as a factor
#> [1] TRUE
Создано в 2019-04-06 пакетом Представить (v0.2.1)