【问题标题】:Define a specific column in a function在函数中定义特定列
【发布时间】:2021-01-31 13:45:30
【问题描述】:

我有两个不同的 dfs 和 ks,其他一切都一样。所以我写了一个函数来分别生成数据帧。但是,似乎我不能像这样使用 k 。有没有办法解决这个问题?

df_1 和 df_2 是 dataplot 中的列表。

所以我有相同的df,它是dataplot,我想用它在函数中定义两个不同的k,per和per_hole。

sumdata_sd <- function (df,k){
  data.frame (
  per_sd_0 = S,
  per_sd_0.2 = df$df_1$k,
  per_sd_0.5 = df$df_2$k,
)}
plot_per <- sumdata_sd(dataplot,per)

可重现的例子

S <- seq (1,7,1)
dataplot <- list(df_1 = list(per = (seq(1,7,1)),per_hole = (seq(2,8,1))),df_2 = list(per = (seq(3,9,1)),per_hole = (seq(4,10,1))))

【问题讨论】:

    标签: r function dataframe


    【解决方案1】:

    如果我们传递一个字符串,我们可以在函数中使用[[而不是$

    sumdata_sd <- function (df,k){
      data.frame (
       per_sd_0 = S,
      per_sd_0.2 = df$df_1[[k]],
      per_sd_0.5 = df$df_2[[k]]
    )}
    
    sumdata_sd(dataplot, "per")
    

    【讨论】:

      猜你喜欢
      • 2012-01-20
      • 2016-11-20
      • 1970-01-01
      • 1970-01-01
      • 2021-12-24
      • 1970-01-01
      • 2021-05-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多