首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Box cox传输数据?

如何使用Box cox传输数据?
EN

Stack Overflow用户
提问于 2017-08-27 14:15:06
回答 2查看 190关注 0票数 0

我有如下数据。

数据:

代码语言:javascript
复制
temperature stage Replicate week Nematode_Number

        T20   All         1    1            60.0
        T20   All         2    1            72.7 
        T20   All         3    1            69.3
        T20   All         4    1            45.3
        T20   All         5    1            40.7

我喜欢找到线性模型,然后基于Box cox对数据进行规范化,但是存在一个错误。

代码语言:javascript
复制
Script: 

> mode (all)
[1] "list"

> is.data.frame (all)
[1] TRUE

> getClass(class(all))
Class "data.frame" [package "methods"]

Slots:


Name:                .Data               names           row.names            .S3Class
Class:                list           character data.frameRowLabels           character

Extends: 
Class "list", from data part
Class "oldClass", directly
Class "vector", by class "list", distance 2

> a <- boxcox(lm(Nematode_Number ~ week, data = all))

Error in terms.formula(formula, data = data) : 'data' argument is of the wrong type
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-27 14:29:44

数据

代码语言:javascript
复制
df <- data.frame(temperature=rep("T20",5),
                 stage=rep("All",5),
                 Replicate=1:5, week=rep(1,5),
                 Nematode_Number=c(60.0, 72.7, 69.3, 45.3, 40.7),
                 stringsAsFactors=F)

,这就是你想要的吗?

这行得通

代码语言:javascript
复制
lm(Nematode_Number ~ week, data=df)

而且这是可行的

代码语言:javascript
复制
library(MASS)
boxcox(Nematode_Number ~ week, data=df)

而且这是可行的

代码语言:javascript
复制
temp <- lm(Nematode_Number ~ week, data=df)
boxcox(temp, data=df)
票数 2
EN

Stack Overflow用户

发布于 2017-08-27 14:28:23

boxcox应该能工作。boxcox也使用公式对象。所以,如果可以的话,试着清理你的环境,或者rm(all),然后再读一遍。如果这些代码在上面的代码之前不起作用,请尝试下面的代码。

代码语言:javascript
复制
 a=boxcox(Nematode_Number~week,data=all)

希望这能有所帮助

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45905922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档