RStudio(或R)中是否有变量列表,如SPSS?

时间:2016-10-13 13:35:19

标签: r rstudio spss

RStudio提供了一个很好的函数false(带有大写View)来查看数据,但是使用R它仍然很难在大数据集中获取方向。最常见的选择是......

  • V
  • names(df)

如果您来自SPSS,R在这方面似乎是降级。我想知道是否有更方便用户的选择?我没有找到一个准备好的,所以我想与你分享我的解决方案。

1 个答案:

答案 0 :(得分:4)

使用RStudio的内置函数str(df),使View的变量列表类似于SPSS中的变量列表非常简单。此函数创建带有变量信息的新data.frame,并通过data.frame在RStudio GUI中显示。

View

我的建议是将其存储为文件(例如# Better variables view Varlist = function(sia) { # Init varlist output varlist = data.frame(row.names = names(sia)) varlist[["comment"]] = NA varlist[["type"]] = NA varlist[["values"]] = NA varlist[["NAs"]] = NA # Fill with meta information for (var in names(sia)) { if (!is.null(comment(sia[[var]]))) { varlist[[var, "comment"]] = comment(sia[[var]]) } varlist[[var, "NAs"]] = sum(is.na(sia[[var]])) if (is.factor(sia[[var]])) { varlist[[var, "type"]] = "factor" varlist[[var, "values"]] = paste(levels(sia[[var]]), collapse=", ") } else if (is.character(sia[[var]])) { varlist[[var, "type"]] = "character" } else if (is.logical(sia[[var]])) { varlist[[var, "type"]] = "logical" n = sum(!is.na(sia[[var]])) if (n > 0) { varlist[[var, "values"]] = paste(round(sum(sia[[var]], na.rm=T) / n * 100), "% TRUE", sep="") } } else if (is.numeric(sia[[var]])) { varlist[[var, "type"]] = typeof(sia[[var]]) n = sum(!is.na(sia[[var]])) if (n > 0) { varlist[[var, "values"]] = paste(min(sia[[var]], na.rm=T), "...", max(sia[[var]], na.rm=T)) } } else { varlist[[var, "type"]] = typeof(sia[[var]]) } } View(varlist) } )并根据需要存储,只需输入:

Varlist.R

请再次注意使用函数名称的大写source("Varlist.R") Varlist(df)

限制:使用V时,除非再次运行data.frame,否则不会更新商家信息。

注意: R有一个内置选项,可以使用Varlist(df)查看数据。如果使用纯R,只需将print替换为View(varlist)。但是,根据屏幕大小,print(varlist)可能是控制台的更好选择。