Answers:
如果您的data.frame被调用,则使用dplyr包df1:
library(dplyr)
df1 %>%
select(A, B, E)
也可以在不使用%>%管道的情况下将其写为:
select(df1, A, B, E)
df1 %>% select(A, B, E) %>% rowMeans(.)。输入以下内容查看%>%管道的文档?magrittr::`%>%`
您可以使用列名称的向量作为子集。与将列名视为对象名(例如subset())的方法相比,我特别喜欢这种方法,尤其是在函数,程序包或应用程序中进行编程时。
# data for reproducible example
# (and to avoid confusion from trying to subset `stats::df`)
df <- setNames(data.frame(as.list(1:5)), LETTERS[1:5])
# subset
df[,c("A","B","E")]
object of type 'closure' is not subsettable。
df。df也是stats软件包中的函数。
-"A"是语法错误。并?Extract说,“ ,也可以是负整数,表明元素/切片离开选择了。” ij...
> df[,c("A")] [1] 1。使用subset没有这个缺点。
这是subset()函数的作用:
> dat <- data.frame(A=c(1,2),B=c(3,4),C=c(5,6),D=c(7,7),E=c(8,8),F=c(9,9))
> subset(dat, select=c("A", "B"))
A B
1 1 3
2 2 4
c("A", "B")是一个向量,而不是列表。
您还可以使用sqldf对R数据帧执行选择的程序包,如下所示:
df1 <- sqldf("select A, B, E from df")
这给出了df1具有列A,B,E 的数据帧作为输出。
您可以使用with:
with(df, data.frame(A, B, E))
df<- dplyr::select ( df,A,B,C)
另外,您可以为新创建的数据指定其他名称
data<- dplyr::select ( df,A,B,C)