如何在R中提取str()信息

时间:2016-07-08 16:16:25

标签: r

假设我有一个数据框,如:

f

我想要的是从df<-data.frame(a=rnorm(20), b=LETTERS[1:20], c=rep(c(FALSE, TRUE), each=10)) str(df) 'data.frame': 20 obs. of 3 variables: $ a: num 1.1525 0.0377 -0.2212 -2.6184 -0.3649 ... $ b: Factor w/ 20 levels "A","B","C","D",..: 1 2 3 4 5 6 7 8 9 10 ... $ c: logi FALSE FALSE FALSE FALSE FALSE FALSE ... 输出中提取变量名称及其类类型:

str()

如何在R中实现这一点?

2 个答案:

答案 0 :(得分:4)

据我所知,str仅打印输出并返回NULL。但是,您可以使用classtypeof命令完成所需的操作(具体取决于您想要的信息类型)。

df <- data.frame(a=rnorm(20), 
                   b=LETTERS[1:20], 
                   c=rep(c(FALSE, TRUE), each=10))
sapply(df, class)
#         a         b         c 
# "numeric"  "factor" "logical" 
sapply(df, typeof)
#         a         b         c 
#  "double" "integer" "logical" 

答案 1 :(得分:0)

正如OP提到的从str中提取信息一样,我们可以使用capture.output将其作为字符串,然后使用sub删除不需要的子字符串,并使用{{1将read.table转换为两列vector

data.frame