r - R:在函数(x,y)中找不到对象y [通过r中的数据帧的函数]
问题描述
我正在编写一个函数来基于现有数据帧构建新数据帧。所以我基本上有
f1 <- function(x,y) {
x_adj <- data.frame("DID*"= df.y$`DM`[x], "LDI"= df.y$`DirectorID*`[-(x)], "LDM"= df.y$`DM`[-(x)], "IID*"=y)
}
我有 4,000 个数据帧 df.,所以我真的需要使用它,而 R 返回一个错误,指出找不到 df.y。y 旨在通过不同 df 的所有 4000 个名称的列表来使用。我在 R 很新,所以任何帮助都将不胜感激。
如果需要更多细节,我基本上有类似的东西
df.1 <- data.frame(x = 1:3, b = 5)
结果我需要以下使用函数
df.11 <- data.frame(x = 1, c = 2:3, b = 5)
df.12 <- data.frame(x = 2, c = c(1,3), b = 5)
df.13 <- data.frame(x = 3, c = 1:2, b = 5)
提前致谢!
解决方案
OP 似乎data.frame
使用动态名称访问。
一种选择是使用get
:
get(paste("df",y,sep = "."))
以上get
将返回df.1
。
因此,函数可以修改为:
f1 <- function(x,y) {
temp_df <- get(paste("df",y,sep = "."))
x_adj <- data.frame("DID*"= temp_df$`DM`[x], "LDI"= temp_df$`DirectorID*`[-(x)],
"LDM"= temp_df$`DM`[-(x)], "IID*"=y)
}
推荐阅读
- c# - add page number in footer starting from n page in word document
- python - 没有从 instagram 检索到数据
- javascript - Why messageReactionAdd do nothing discord.js
- javascript - firebase PushID loop
- css - 右对齐 react-native-popup-menu MenuOptions
- javascript - Animating Mask Position with Angular 2+
- protocol-buffers - how to use pssh python script using Python ProtoBuf library?
- c++ - 只能向字符串添加一定数量的字符 - C++
- azure-ad-b2c - 在 Azure AD B2C 自定义策略中,IdentityExperienceFrameworkApps 如何在没有秘密的情况下连接到 AD
- dialogflow-es - 使用 dialoglow 请求多个权限