Как получить доступ к отдельным элементам в таблице в R - PullRequest
25 голосов
/ 16 сентября 2011

Как получить элементы из таблицы в R .

Мои данные выглядят так:

         V1     V2
1      12.448 13.919
2      22.242  4.606
3      24.509  0.176

и т.д.Я путаюсь со всей терминологией R , такой как векторы, и я просто хочу быть в состоянии получить доступ к отдельным элементам.1014 * и получить элемент в строке 1 столбца 1?

Ответы [ 3 ]

29 голосов
/ 16 сентября 2011

Это так просто, что мне интересно, какую книгу вы используете для изучения? Попробуйте

data[1, "V1"]  # row first, quoted column name second, and case does matter

Я не раскаялся в своих формулировках, несмотря на недавнее снижение. Существует множество бесплатных вводных материалов для начинающих в R: https://cran.r -project.org / other-docs.html

15 голосов
/ 17 сентября 2011

?"[" в значительной степени охватывает различные способы доступа к элементам вещей.

При использовании он перечисляет это:

x[i]
x[i, j, ... , drop = TRUE]
x[[i, exact = TRUE]]
x[[i, j, ..., exact = TRUE]]
x$name
getElement(object, name)

x[i] <- value
x[i, j, ...] <- value
x[[i]] <- value
x$i <- value

Для вашей цели достаточно второго предмета

Под Arguments указывается, что с [ аргументы i и j могут быть числовыми, символическими или логическими

Итак, эти работы:

data[1,1]
data[1,"V1"]

Как это сделать:

data$V1[1]

и с учетом фрейма данных это список векторов:

data[[1]][1]
data[["V1"]][1]

тоже будет работать.

Так что это несколько вещей, которые будут продолжаться. Я предлагаю вам напечатать примеры в нижней части страницы справки по одной строке за раз (да, на самом деле введите все это по одной строке за раз и посмотрите, что они все делают, вы очень быстро подберете что-то и печатание, а не копирование, является важной частью, помогающей зафиксировать его в памяти.)

1 голос
/ 25 сентября 2018

Может быть, не так идеально, как выше, но я думаю, это то, что вы искали.

data[1:1,3:3]    #works with positive integers
data[1:1, -3:-3] #does not work, gives the entire 1st row without the 3rd element
data[i:i,j:j]    #given that i and j are positive integers

Здесь индексирование будет работать с 1, т. Е.

data[1:1,1:1]    #means the top-leftmost element
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...