Type、Class in R

今天(或者说一直以来)犯了(着)一个很傻的错误。R的资料很多在看的时候不知道那东西用来做什么、怎么用,于是看过就忘了,比如数据的Type和Class。

用read.table读入数据框x,用typeof(x)返回“list”,我就震惊了,怎么说都应该是data frame啊。于是尝试了各种argument,各种数据格式,读取进来仍是list(已经耗费了我近1小时时间)。然后群里面有一热心的哥们儿帮我排解问题,搞了好久,赫然醒悟。我想要看的是Class,而不是Type。Type是指储存形式,Class才是变量的类型,还有一个Mode也是储存类型不过表达和Type不同。我瞎折腾了半天的“list”其实一直也都是data frame……

一知半解就是麻烦,有空都记下来好好学呀亲!typeof(x), class(x), mode(x)
另:我把13个data frame放到一个list里后,用list[n]可以调出第n个data frame,但是在一个语句就必须要写成list[[n]]才行,不知这又是为何?

>month[n]     是可以的。

>for (n in 1:13){

d <- vegdist(log(month[[n]]+1),method=”bray”);

x <- hclust(d,method=”ward”);

plot(as.dendrogram(x),horiz=T)

} 这里如果写month[n]就会报错。

(vegan的decostand()的log方法不会变换0值,不用+1)

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.