Вектор сохраняется как информационный кадр, а не как вектор - PullRequest
0 голосов
/ 18 октября 2018

Я новичок в r и rstudio, и мне нужно создать вектор, в котором будут храниться первые 100 строк файла csv, который читает программа.Тем не менее, несмотря на все мои попытки, моя переменная v1 в конечном итоге становится кадром данных, а не вектором int.Могу ли я знать, что я могу сделать, чтобы решить эту проблему?Вот мой код:

library(readr)
library(readr)
cup_data <- read_csv("C:/Users/Asus.DESKTOP-BTB81TA/Desktop/STUDY/YEAR 2/
          YEAR 2 SEM 2/PREDICTIVE ANALYTICS(1_PA_011763)/Week 1 (Intro to PA)/
                     Practical/cup98lrn variable subset small.csv")
# Retrieve only the selected columns
cup_data_small <- cup_data[c("AGE", "RAMNTALL", "NGIFTALL", "LASTGIFT", 
                     "GENDER", "TIMELAG", "AVGGIFT", "TARGET_B", "TARGET_D")]
str(cup_data_small)
cup_data_small

#get the number of columns and rows
ncol(cup_data_small)
nrow(cup_data_small)
cat("No of column",ncol(cup_data_small),"\nNo of Row :",nrow(cup_data_small))

#cat
#Concatenate and print
#Outputs the objects, concatenating the representations. 
#cat performs much less conversion than print.

#Print the first 10 rows of cup_data_small
head(cup_data_small, n=10)

#Create a vector V1 by selecting first 100 rows of AGE 
v1 <- cup_data_small[1:100,"AGE",]

Вот что говорит моя среда: enter image description here

1 Ответ

0 голосов
/ 18 октября 2018

cup_data_small - это слегка измененная версия фрейма данных, в котором есть несколько другие правила, чтобы избежать некоторых общих ошибок / несоответствий в стандартных фреймах данных.Например, в стандартном фрейме данных df[, c("a")] дает вам вектор, а df[, c("a", "b")] дает вам фрейм данных - вы используете один и тот же синтаксис, поэтому, вероятно, они должны давать тот же тип результата.

Чтобы получить только вектор из тибла, вы должны явно передать drop = TRUE, например:

library(dplyr)

# Standard dataframe
iris[, "Species"]

iris_tibble = iris %>%
    as_tibble()
# Remains a tibble/dataframe
iris_tibble[, "Species"]
# This gives you just the vector
iris_tibble[, "Species", drop = TRUE]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...