假设我有一个数据框,如:
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中实现这一点?
答案 0 :(得分:4)
据我所知,str
仅打印输出并返回NULL
。但是,您可以使用class
或typeof
命令完成所需的操作(具体取决于您想要的信息类型)。
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