微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

`$<-.data.frame`(`*tmp*`, conf.int, value = list(X1 = c(-0.305562185432494, : 替换有 2 行,数据有 20

如何解决`$<-.data.frame`(`*tmp*`, conf.int, value = list(X1 = c(-0.305562185432494, : 替换有 2 行,数据有 20

我想在数据框中添加 t.test 函数 conf.int 的输出,使用以下代码

y <- data.frame(matrix(rnorm(1000),20))
test <- apply(y,1,t.test,alternative = c("two.sided","less","greater"),mu = 0,paired = FALSE,var.equal = FALSE,conf.level = 0.95)
y$conf.int <-data.frame(sapply(test,function(x)c(x$conf.int)))

但是它返回

Error in `$<-.data.frame`(`*tmP*`,w,value = list(X1 = c(-0.305562185432494,: replacement has 2 rows,data has 20

搜索解决方案,然后修改了下面给出的代码

y$x1_range <- NA
y$x1_range[which(y$x1 <= 2)] <-data.frame(sapply(test,function(x)c(x$conf.int)))

但它只创建空列,没有别的。

提前致谢

解决方法

我们需要import React from 'react' import './Article.css' import { useLocation } from "@reach/router" function Article(props) { // useLocation to access the route state from Blog.js const { state = {} } = useLocation(); console.log(state) return ( <div className="main"> <h1 className="title">{state.title}</h1> <p className="intro">{state.introduction}</p> <p className="main1">{state.mainBody1}</p> <p className="main2">{state.mainBody2}</p> </div> ) } export default Article转置输出

t

-输出

y[c('conf.int1','conf.int2')] <- data.frame(t(sapply(test,function(x)c(x$conf.int))))
,

您可以从 'conf.int' 中提取 test 以获得 2 列矩阵和 cbind 到原始 y

y <- data.frame(matrix(rnorm(1000),20))

test <- apply(y,1,t.test,alternative = c("two.sided","less","greater"),mu = 0,paired = FALSE,var.equal = FALSE,conf.level = 0.95)

result <- cbind(y,t(sapply(test,`[[`,'conf.int')))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。