2016-08-18 102 views
-7

我有一个数据库与多个变量,数值和分类。我想用R studio只为分类变量(频率,百分比)提供摘要描述性统计信息,并且我正在考虑使用由函数创建的列列表隔离数据库的子集,然后将它传递给sapply - > prop.table 。 不幸的是,我被困住了,我只能通过列检测,如果他们是绝对的或不。R - 函数来获取数据库列的列表

由于提前, 安杰洛

回答

-1

有很多种方法,通过你的因素列进行迭代。

例如:

d <- data.frame(A=numeric(), B=logical(), C=character()) 
for(col in which(sapply(d, is.factor))) 
    print(col, names(d)[col], summary(d[,col])) # print whatever statistics you want 

这是你想要的吗?

+0

非常感谢。 我做了这样的事情 '描述< - 功能(数据集){ fattore < - lapply(数据集,类) 为(序列Ĵ(数据集)){ 如果(fattore [J]! == “因子”){ 打印(平均(数据集[,j]时,na.rm = T)) }否则{ 打印(表(数据集[J])) } } }' 但我还没有设法得到列标题... –

+0

查看我更新的答案。要获取列名称,请使用'names(df)'。然后,您可以索引它以访问特定的列名称,例如'名(DF)[1]'。 –