小编Kay*_*Kay的帖子

将列表转换为pandas数据框

我试图将我的输出转换为熊猫数据框,我正在努力.我有这个清单

my_list = [1,2,3,4,5,6,7,8,9]
Run Code Online (Sandbox Code Playgroud)

我想创建一个包含3列和3行的pandas数据框.我尝试使用

df = pd.DataFrame(my_list, columns = list("abc"))
Run Code Online (Sandbox Code Playgroud)

但它似乎对我不起作用.任何帮助,将不胜感激.

python pandas

21
推荐指数
1
解决办法
12万
查看次数

在编程中使用dplyr mutate()

我试图使用mutate为变量分配列名.

df <-data.frame(x = sample(1:100, 50), y = rnorm(50))

new <- function(name){
     df%>%mutate(name = ifelse(x <50, "small", "big"))
}
Run Code Online (Sandbox Code Playgroud)

我跑的时候

new(name = "newVar")
Run Code Online (Sandbox Code Playgroud)

它不起作用.我知道 mutate_()可以帮助,但我正在努力与它一起使用它ifelse.

任何帮助,将不胜感激.

r dplyr nse tidyverse mutate

5
推荐指数
2
解决办法
1426
查看次数

在编程中使用dplyr filter()

我正在编写我的函数,并希望使用dplyr的filter()函数来选择满足条件的数据帧行.这是我的代码:

library(tidyverse)

df <-data.frame(x = sample(1:100, 50), y = rnorm(50), z = sample(1:100,50), w = sample(1:100, 50),
            p = sample(1:100,50))

new <- function(ang,brad,drau){
  df%>%filter(!!drau %in% 1:50)%>%select(ang,brad) -> A
return(A)
}

brand <- c("z","w","p")
lapply(1:3, function(i) new(ang = "x", brad = "y", drau = brand[i]))%>%bind_rows()
Run Code Online (Sandbox Code Playgroud)

无论何时我运行此函数,它看起来filter都不会选择满足条件的任何行.

我怎样才能做到这一点?

更新

出于某种原因,当我不使用`%in%时,这可行;

new <- function(ang,brad,drau){
  df%>%filter(!!drau > 50)%>%select(ang,brad) -> A
return(A)
}

lapply(1:3, function(i) new(ang = "x", brad = "y", drau = brand[i]))%>%bind_rows()
Run Code Online (Sandbox Code Playgroud)

但是,每个循环的结果都是相同的.为什么会这样?而且为什么我不能使用%in%.

r dplyr tidyverse rlang

5
推荐指数
2
解决办法
1304
查看次数

在 Github 操作中获取修改后的文件

我的存储库中有 2 个 Github Actions 工作流程,其中一个步骤需要获取 PR 中已修改的所有文件(删除的文件除外)。我在第一个中使用这个:

on:
  pull_request:
    branches: [ main ]


jobs:
  get_files:
    name: run_on_pr
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@master
        with:
          fetch-depth: 0

      - name: Modified files
        run: |
          git fetch origin main:main
          git diff --name-only --diff-filter=d main~ main
Run Code Online (Sandbox Code Playgroud)

这个工作正常,我可以获得所有已修改文件的列表。但是,在第二个工作流程中(应该在合并 PR 时运行),这不起作用。

on:
  push:
    branches: [ main ]


jobs:
  get_files:
    name: run_when_pr_is_merged
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@master
        with:
          fetch-depth: 0

      - name: Modified files
        run: |
          git fetch origin …
Run Code Online (Sandbox Code Playgroud)

git github github-actions

4
推荐指数
1
解决办法
1万
查看次数

使用purrr :: map将多个参数应用于函数

我有一个这样的数据框

   df <- data.frame(tiny = rep(letters[1:3], 20), 
                  block = rnorm(60), tray = runif(60, min=0.4, max=2),
                  indent = sample(0.5:2.0, 60, replace = TRUE))
Run Code Online (Sandbox Code Playgroud)

我嵌套了这个数据框

nm <- df%>%
       group_by(tiny)%>%
       nest()
Run Code Online (Sandbox Code Playgroud)

然后写了这些功能

library(dplyr)
library(purrr)
library(tidyr)

model <- function(dfr, x, y){
             lm(y~x, data = dfr)
         }

model1 <- function(dfr){
           lm(block~tray, data = dfr)
          }
Run Code Online (Sandbox Code Playgroud)

我想为所有微小的类运行该模型,所以我做了

 nm%>%
   mutate(
     mod = data %>% map(model1)
   )
Run Code Online (Sandbox Code Playgroud)

上面的代码工作正常,但是如果我想像函数中一样提供变量作为参数,则会model1出错。这就是我所做的

 nm%>%
    mutate(mod = data %>% map(model(x=tray, y=block)))
Run Code Online (Sandbox Code Playgroud)

我不断收到错误消息 Error in mode(x = tray, y = block) : unused …

r ggplot2 dplyr magrittr purrr

2
推荐指数
2
解决办法
5918
查看次数

理解 Svelte 中的 Context(从 React Context 转换)

我有一个使用 ContextAPI 来管理身份验证的 React 应用程序,我正在尝试在 Svelte 中实现类似的功能。[Web 开发简化][1]

Authenticate.js我有这个:

import React, { useContext, useState, useEffect } from "react"
import { auth } from "../firebase"

const AuthCt = React.createContext()

export function Auth() {
  return useContext(AuthCt)
}

export function AuthComp({ children }) {
  const [currentUser, setCurrentUser] = useState()
  const [loading, setLoading] = useState(true)

  function login(email, password) {
    return auth.signInWithEmailAndPassword(email, password)
  }

  function logout() {
    return auth.signOut()
  }

  useEffect(() => {
    const unmount = auth.onAuthStateChanged(user => {
      setCurrentUser(user)
      setLoading(false)
    })

    return …
Run Code Online (Sandbox Code Playgroud)

reactjs svelte svelte-store svelte-3 context-api

2
推荐指数
1
解决办法
334
查看次数

R 中的蒙特卡罗模拟

我正在尝试模拟来自 rho=0.7 的 AR(1) 模型的数据 (Y)。然后我将使用这些数据在截距上运行 Y 的回归(通过这样做,参数估计值将成为 Y 的平均值),然后测试系数小于或等于 0 的零假设(替代方案大于 0 )使用稳健的标准误差。我想使用不同滞后值的 2000 次重复来运行该假设的蒙特卡罗模拟。目的是显示 Newey West 估计器随着滞后变化的有限样本性能。所以我就是这样开始的

A<-array(0, dim=c(2000,1))
for(i in 1:2000){
  y_new<-arima.sim(model=list(ar=0.7), n=50, mean=0,sd=1)
  reg<-lm(y_new~1)
  ad<-coeftest(reg, alternative="greater", vcov=NeweyWest(reg, lag=1, prewhite=FALSE))
  A[i]<-ad[,3]
}
Run Code Online (Sandbox Code Playgroud)

我的问题:上面的代码是进行这种模拟的正确方法吗?如果是,我怎样才能获得代码来针对 HAC 测试中的不同滞后值重复此过程。我想每次将延迟增加 1 来运行测试,因此我将对延迟 1,2,3,4......,50 执行 50 次,每次将 2000 个模拟测试统计数据存储在具有不同名称的向量。计算每种情况的检验统计量的拒绝概率(sig. level = 0,05,使用临界值 1.645),并将它们(拒绝概率)针对各种滞后值绘制出来。请帮忙

r montecarlo

1
推荐指数
1
解决办法
2781
查看次数