r - 在函数中定义特定列
问题描述
我有两个不同的 dfs 和 ks,其他一切都一样。所以我写了一个函数来分别生成数据帧。但是,似乎我不能像这样使用 k 。有什么方法可以解决这个问题吗?
df_1 和 df_2 是数据图中的列表。
所以我有相同的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))))
解决方案
在函数中我们可以使用[[
而不是$
如果我们传递一个字符串
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")
推荐阅读
- plot - spss:导出cox回归生存函数图点
- r - 为什么我不能在 R 中将两个文件与 left_join 合并?
- c++ - realloc 在 C++ 中关于额外空间的行为如何?
- javascript - 单击弹出对话框时,ReactJs down 元素被选中
- django - 如何在发送邮件之前验证电子邮件并查找邮件是否发送 - django
- python - 熊猫重复显示非重复行
- macos - 找不到证书提供程序 Mac OS
- r - 我的列的总和似乎没有在 R 中给我正确的结果
- mocha.js - 如何在报告中获取运行详细信息和日志,而不是显示方法本身
- javascript - Vuejs v-dialog 获取数组中的最后一个元素