如何将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 DogetS3method(“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