如何将r中的部分摘要输出保存到特定列中?

如何将r中的部分摘要输出保存到特定列中?,r,R,我有以下方式的数据帧 name<-c('z','z','z','d','d','d') area<-c("A","A","B","B","B","C") df<-data.frame(area,name) (df.1<-data.frame(summary(df$area))) 如您所见,A、B、C值尚未分配给任何特定列,如何将这些值分配到名为区域ID 所以看起来像 area ID summary.df.area. A

我有以下方式的数据帧

name<-c('z','z','z','d','d','d')
area<-c("A","A","B","B","B","C")
df<-data.frame(area,name)
(df.1<-data.frame(summary(df$area)))
如您所见,
A、B、C
值尚未分配给任何特定列,如何将这些值分配到名为
区域ID

所以看起来像

   area ID     summary.df.area.
    A                2
    B                3
    C                1
你能行

(df.1<-data.frame(area_ID = names(summary(df$area)),
                  summary = summary(df$area)), stringsAsFactors = FALSE)
#  area_ID summary
#A       A       2
#B       B       3
#C       C       1
但是很明显,您需要重命名您的列。

如何

df.1<-data.frame(summary(df$area))
df.1$'area ID' <- rownames(df.1)

 df.1
  summary.df.area. area ID
A                2       A
B                3       B
C                1       C

df.1

cbind(data.frame("area ID"=rownames(df.1)), df.1)

##   area.ID summary.df.area.
## A       A                2
## B       B                3
## C       C                1
从中发挥作用

并推广到一个函数:

# function returning the data frame with rownames as first column
# which has the title given in `firstColName`.
rownamesAsColumn <- function(df, firstColName) {
  res <- cbind(data.frame(firstCol=rownames(df)), df)
  colnames(res) <- c(firstColName, colnames(df))
  res
} 

rownamesAsColumn(df.1, "area ID")

##   area.ID summary.df.area.
## A       A                2
## B       B                3
## C       C                1
#函数返回行名为第一列的数据帧
#标题在“firstColName”中。
rownamescolumn Do
getS3method(“summary”、“factor”)
,注意它调用了
table()
,所以为什么不直接执行
as.data.frame(table(factor(因子(c(“A”、“A”、“B”、“B”、“B”、“c”))
df.1 <- data.frame(df.1$'area ID',df.1$ summary.df.area.)
# add whatever column names you want
colnames(df.1) <- c('ID','summary')
cbind(data.frame("area ID"=rownames(df.1)), df.1)

##   area.ID summary.df.area.
## A       A                2
## B       B                3
## C       C                1
# function returning the data frame with rownames as first column
# which has the title given in `firstColName`.
rownamesAsColumn <- function(df, firstColName) {
  res <- cbind(data.frame(firstCol=rownames(df)), df)
  colnames(res) <- c(firstColName, colnames(df))
  res
} 

rownamesAsColumn(df.1, "area ID")

##   area.ID summary.df.area.
## A       A                2
## B       B                3
## C       C                1