R 向量被存储为数据帧而不是向量
我不熟悉r和rstudio,我需要创建一个向量来存储程序读取的csv文件的前100行。然而,尽管我做了很多尝试,我的变量v1最终还是变成了一个数据帧,而不是一个int向量。我能知道我能做些什么来解决这个问题吗?这是我的密码: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
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_datacup_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