Как получить доступ к отдельному элементу в кадре данных R? - PullRequest
2 голосов
/ 05 мая 2020

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

empStatistics <- read.csv("C:/temp/empstats.csv", header = TRUE, row.names = NULL, encoding = "UTF-8", sep = ",", dec = ".", quote = "\"", comment.char = "") 
attach(empStatistics)
library(svDialogs)
Search_Item <- dlgInput("Enter a Category", "")$res
if (!length(Search_Item)) {
  cat("You didn't pick anything!?")
} else {
    Category <- empStatistics[Search_Item]
  }
Employee_Name <- dlgInput("Enter a Player", "")$res
if (!length(Employee_Name)) {
  cat("No Person Selected!\n")
} else {
  cat(empStatistics[Employee_Name, Search_Item])
}

и образец моего файла csv:

Name,Age,Salary,Department
Frank,25,40000,IT
Joe,24,40000,Sales
Mary,34,56000,HR
June,39,70000,CEO
Charles,60,120000,Janitor

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

Как я могу ввести значения в переменные, а затем использовать их для получения отдельных фрагментов данных (например, введите «Франк» для имени и «Возраст» для элемента поиска и верните 25 или «Июнь» "для имени и" отдела "для элемента поиска, чтобы вернуть" генеральный директор ")?

1 Ответ

0 голосов
/ 05 мая 2020

Если вы хотите получить к нему такой доступ, вы можете:

Search_Item  <- "Salary"
Employee_Name <- "Frank"

empStatistics <- read.csv("empstats.csv",header = TRUE, row.names = 1)
empStatistics[Employee_Name,Search_Item]
[1] 40000

R не имеет индекса для своего data.frame. Еще вы можете попробовать:

empStatistics <- read.csv("empstats.csv",header = TRUE)
empStatistics[match(Employee_Name,empStatistics$Name),Search_Item]
[1] 40000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...