R 向量被存储为数据帧而不是向量

R 向量被存储为数据帧而不是向量,r,R,我不熟悉r和rstudio,我需要创建一个向量来存储程序读取的csv文件的前100行。然而,尽管我做了很多尝试,我的变量v1最终还是变成了一个数据帧,而不是一个int向量。我能知道我能做些什么来解决这个问题吗?这是我的密码: library(readr) library(readr) cup_data <- read_csv("C:/Users/Asus.DESKTOP-BTB81TA/Desktop/STUDY/YEAR 2/ YEAR 2 SEM 2/PREDICT

我不熟悉r和rstudio,我需要创建一个向量来存储程序读取的csv文件的前100行。然而,尽管我做了很多尝试,我的变量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",]
库(readr)
图书馆(readr)

cup_data
cup_data_small
是一种TIBLE,是数据帧的一种稍加修改的版本,其规则稍有不同,以避免标准数据帧中出现一些常见的怪癖/不一致。例如,在标准数据帧中,
df[,c(“a”)]
给您一个向量,
df[,c(“a”,“b”)]
给您一个数据帧-您使用的是相同的语法,因此可以说它们应该给出相同类型的结果

要仅从TIBLE中获取向量,必须显式传递
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]

cup\u data\u small
是一种TIBLE,是数据帧的一种稍加修改的版本,其规则稍有不同,以避免标准数据帧中出现一些常见的怪癖/不一致。例如,在标准数据帧中,
df[,c(“a”)]
给您一个向量,
df[,c(“a”,“b”)]
给您一个数据帧-您使用的是相同的语法,因此可以说它们应该给出相同类型的结果

要仅从TIBLE中获取向量,必须显式传递
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]

这种行为是因为您的对象是一个
tible
,而不是严格意义上的
data.frame
。对于tibbles,默认行为是在这些实例中始终返回单列帧,认为“有时返回单列,有时返回向量”的基本方法可能会令人困惑和/或有问题。(这是一个
tibble
,因为你使用了
read_csv
,它来自
readr
,是
tidyverse
软件包之一,它更喜欢
tbl
s而不仅仅是
data.frame
s。)为了强制向量,你可以使用
v1。这种行为是因为你的对象是一个
tibble
,严格来说,它不是一个
数据帧
。对于tibbles,默认行为是在这些实例中始终返回单列帧,认为“有时返回单列,有时返回向量”的基本方法可能会令人困惑和/或有问题。(这是一个
tibble
,因为您使用了
read_csv
,它来自
readr
,是
tidyverse
软件包之一,它更喜欢
tbl
s,而不仅仅是
data.frame
s。)为了强制向量,您可以使用
v1