При использовании тибла, '[' возвращает другой тиббл.Для подмножества попробуйте '[[' или '$':
df2 <- tibble(x = 1:3, y = 3:1)
class(df2$x)
#> [1] "integer"
Например:
my.tibble<-tibble(x=c('Jack','Jill','Bill'),
y=c('Fell','Stood','Slipped')
)
> my.tibble
# A tibble: 3 x 2
x y
<chr> <chr>
1 Jack Fell
2 Jill Stood
3 Bill Slipped
> my.tibble[2,2]
# A tibble: 1 x 1
y
<chr>
1 Stood
Аналогично ...
> my.tibble$x[2]
[1] "Jill"
или
my.df<-tibble('row_name' = c('Row A','Row B','Row C'),
'other_rows' = c('Row 1A', 'Row1B', 'Row1C'))
> my.df$row_name[2]
[1] "Row B"
См. https://cran.r -project.org / web / packages / tibble / vignettes / tibble.html
============= Обновлено [на основе разъяснения запроса ===========
Из документации [здесь] (https://www.rdocumentation.org/packages/tibble/versions/1.4.2/topics/rownames), 'удаляются при поднаборе с [
operator '.
Однако, давайте посмотрим, приведет ли это вас туда, куда вы хотите.
Создайте фиктивные данные из iris
data:
> df_1<-iris[1:10,]
Добавить строку.Имена:
> row.names(df_1)<-c('Obs1','Obs2','Obs3','Obs4','Obs5','Obs6','Obs7','Obs8','Obs9','Obs10')
Преобразование в таблицу:
library(tibble)
> df_1 <- as_tibble(rownames_to_column(df_1))
> head(df_1)
# A tibble: 6 x 6
rowname Sepal.Length Sepal.Width Petal.Length Petal.Width Species
<chr> <dbl> <dbl> <dbl> <dbl> <fct>
1 Obs1 5.1 3.5 1.4 0.2 setosa
2 Obs2 4.9 3 1.4 0.2 setosa
3 Obs3 4.7 3.2 1.3 0.2 setosa
4 Obs4 4.6 3.1 1.5 0.2 setosa
5 Obs5 5 3.6 1.4 0.2 setosa
6 Obs6 5.4 3.9 1.7 0.4 setosa
Использование dplyr
для фильтрации:
библиотека (dplyr)
> filter(df_1,rowname=="Obs1" & Petal.Length == 1.4)
# A tibble: 1 x 6
rowname Sepal.Length Sepal.Width Petal.Length Petal.Width Species
<chr> <dbl> <dbl> <dbl> <dbl> <fct>
1 Obs1 5.1 3.5 1.4 0.2 setosa
Другой вариант. Вы можете объединить filter
и select
. В этом примере я говорю R сначала отфильтровать по имени строки 'Obs1', а затем выбрать столбец 'Petal.Length', который возвращает единственное значение (1.4)
> filter(df_1,rowname=="Obs1") %>%
+ select(Petal.Length)
# A tibble: 1 x 1
Petal.Length
<dbl>
1 1.4