r中的数值常量/忽略连接
我忘了连接finalgrade列,现在无法删除r中的数值常量/忽略连接,r,dplyr,concatenation,numeric,R,Dplyr,Concatenation,Numeric,我忘了连接finalgrade列,现在无法删除NA列,而不会在我尝试的任何操作中得到短语Error:grades$NA中意外的数值常量。我不想重做整个data.frame,尤其是在这种情况再次发生时 grades<-mutate(grades,finalgrade=NA,NA,NA,NA,NA,NA) grades students class exam1 exam2 exam3 finalexam finalgrade NA 1 Bill Freshman 80
NA
列,而不会在我尝试的任何操作中得到短语Error:grades$NA中意外的数值常量。我不想重做整个data.frame
,尤其是在这种情况再次发生时
grades<-mutate(grades,finalgrade=NA,NA,NA,NA,NA,NA)
grades
students class exam1 exam2 exam3 finalexam finalgrade NA
1 Bill Freshman 80 90 90 92 NA NA
2 Jimbo Sophmore 90 75 50 95 NA NA
3 Jeff Junior 90 90 95 90 NA NA
4 Jim Senior 75 75 85 80 NA NA
5 Johnny Junior 90 90 90 95 NA NA
6 Joey Senior 65 70 90 45 NA NA
等级首先,它必须是
grades <- mutate(grades, finalgrade = c(NA, NA, NA, NA, NA, NA))
我将在对问题的评论中使用@Frank的例子来说明上面的代码
library(dplyr)
bad <- mutate(mtcars[1:3, ], gah = NA, NA, NA)
bad
# mpg cyl disp hp drat wt qsec vs am gear carb gah NA
#1 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 NA NA
#2 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 NA NA
#3 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 NA NA
它按预期工作。使用dplyr::select
,您可以根据列的名称或位置选择列。在这里,您试图保留第1列到第7列,因此可以在选择中使用这些位置:
库(tidyverse)
等级%>%
选择(1:7)
#>学生班级exam1 exam2 exam3 FinalExam3 finalgrade
#>1比尔新生809092NA
#>2 Jimbo Sophomore 90 75 50 95 NA
#>3 Jeff Junior 90 90 NA
#>4吉姆高中75 85 80 NA
#>5约翰尼少年90 95北美
#>6乔伊65 70 90 45北美
更简单、更可扩展的是,您可以在列名或位置前面使用-
来选择不包括哪些列,并且可以使用ncol
来获取数据帧中的列数,从而选择排除最后一列:
等级%>%
选择(-ncol(.))
#>学生班级exam1 exam2 exam3 FinalExam3 finalgrade
#>1比尔新生809092NA
#>2 Jimbo Sophomore 90 75 50 95 NA
#>3 Jeff Junior 90 90 NA
#>4吉姆高中75 85 80 NA
#>5约翰尼少年90 95北美
#>6乔伊65 70 90 45北美
由(v0.2.0)于2018年8月22日创建。通常更好地为人们提供一个具体的例子(可以复制粘贴到R中进行复制),如库(dplyr);变异(mtcars[1:3,],gah=1,NA,NA)
@Frank我在编辑我的答案时使用了你的例子。谢谢,我自己应该想到的。
grades[ncol(grades)] <- NULL
library(dplyr)
bad <- mutate(mtcars[1:3, ], gah = NA, NA, NA)
bad
# mpg cyl disp hp drat wt qsec vs am gear carb gah NA
#1 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 NA NA
#2 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 NA NA
#3 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 NA NA
bad[ncol(bad)] <- NULL
bad
# mpg cyl disp hp drat wt qsec vs am gear carb gah
#1 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 NA
#2 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 NA
#3 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 NA