用R

用R,r,plot,lm,R,Plot,Lm,我正在为R做一个家庭作业项目,我有一个CSV文件需要导入,所以需要进行一些分析并创建散点图和线性回归 在某一点上,我的代码有一个错误,我不确定为什么或在哪里,我认为它可能在这一行: x <- c("Name", "Washington") CTD <- subset (Current_Data, grepl(paste(x, collapse = "|"), Current_Data$V1)) 这里的问题是它没有减少年份,所以当我使用“t()”函数(C_D_t)将行转换为列时 我

我正在为R做一个家庭作业项目,我有一个CSV文件需要导入,所以需要进行一些分析并创建散点图和线性回归

在某一点上,我的代码有一个错误,我不确定为什么或在哪里,我认为它可能在这一行:

x <- c("Name", "Washington")

CTD <- subset (Current_Data, grepl(paste(x, collapse = "|"), Current_Data$V1))
这里的问题是它没有减少年份,所以当我使用“t()”函数(C_D_t)将行转换为列时

我明白了:

库图德 54
V1“华盛顿” V2“6742902”
V3“6821655”
V4“6892876”
V5“6962906”
V6“7052439”
V7“7163543”
V8“7294680”
V9“7425432”
V10“7535591”

由于我失去了这些年,Colnames不起作用,给了我以下错误:

colnames(C_T_D)T()函数正在创建维度大于2的矩阵。错误是,您只给矩阵指定了两个列名,但矩阵数组需要两个以上的列名

您这样做有什么原因吗?如果没有,则以下操作可能有效:

Current_Data <- read.csv("nst-est2018-alldata.csv", header=T,stringsAsFactors=FALSE)

head(Current_Data)

x <- c("Name", "Washington")

CTD <- subset(Current_Data, grepl(paste(x, collapse = "|"), Current_Data$NAME))

CTD

# the data are in wide format, but you seem to want them in long format
C_T_D <- stack(CTD)[-1,]

C_T_D

# looks like our columns are switched
C_T_D2 <- C_T_D[,c(2,1)]

colnames(C_T_D2) <- c("Year","Population")

#to make the data easier to work with
C_T_D2$Year <- as.numeric(str_extract_all(C_T_D2$Year, "[0-9]+"))
C_T_D2$Population <- as.numeric(C_T_D2$Population)

Current_Data您是否有数据链接以使您的问题重现?或者,您能否展示数据的外观,以便我们更好地了解问题?然后我下载了NST-EST2018-alldata.csv。我对csv文件做了一些编辑,删除了不需要的额外信息,删除了A到D、F和G列(原始列)然后是2018年POP估算后的所有数据。这是当前_数据的样本输出:V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 1 NAME 2010 2011 2012 2013 2015 2017 2018 2美国309326085 311580009 313874218 316057727 318386421 320742673 323071342 325147121 327167434 . . . 7阿拉巴马州4785448 4798834 4815564 4830460 4842481 4853160 4864745 4875120 4887871现在,我正在尝试处理华盛顿的数据,但我无法在注释中粘贴那么多内容对上述代码进行一些更新。让我知道这是否有效。祝你好运CTD在行中,而不是列中,CTD应该在第1行中有年份和人口est。在第二排。t()是将它们放入到列中,所以我在第1列和第est列中有几年的时间。列中2@DaveT您请求的dput产生此错误:>dput(head(当前_数据[,c(“名称”,“华盛顿”)]),20)在
[.Data.frame
(当前_数据,c(“名称”,“华盛顿”))中出错:选择了未定义的列
    V1      V2      V3      V4      V5      V6      V7      V8      V9     V10
54 Washington 6742902 6821655 6892876 6962906 7052439 7163543 7294680 7425432 7535591
Current_Data <- read.csv("nst-est2018-alldata.csv", header=T,stringsAsFactors=FALSE)

head(Current_Data)

x <- c("Name", "Washington")

CTD <- subset(Current_Data, grepl(paste(x, collapse = "|"), Current_Data$NAME))

CTD

# the data are in wide format, but you seem to want them in long format
C_T_D <- stack(CTD)[-1,]

C_T_D

# looks like our columns are switched
C_T_D2 <- C_T_D[,c(2,1)]

colnames(C_T_D2) <- c("Year","Population")

#to make the data easier to work with
C_T_D2$Year <- as.numeric(str_extract_all(C_T_D2$Year, "[0-9]+"))
C_T_D2$Population <- as.numeric(C_T_D2$Population)