r - 如何在 R 中的另一个函数中运行函数?
问题描述
我之前看到一个类似的问题,但我没有完全理解答案。这是我的原始功能:
fxn_import_data <- function(file_path, filen)
{work <-setwd(file_path)
yelp <- stream_in(file(filen)) #creating a data fram called yelp using stream_in function}
#head(yelp, 10)
yelp_flat<- flatten(yelp) #helps turn JSON files with multiple df's into tabular format
#str(yelp_flat) #displays abbreviated content (not needed for this data set)
scoop <- as_data_frame(yelp_flat)
}
这个函数的目的是打开我的数据的文件源并解压它,它就是这样做的。我需要这些数据来运行我的下一个函数,如下所示:
fxn_create_meta<- function(fxn_import_data, scoop) {return(scoop)
fxn_import_data <- function(file_path, filen)
scoop <- as_data_frame(yelp_flat)
scoop$homePlayers <- NULL #eliminates homePlayers column
scoop$awayPlayers <- NULL
pop <- scoop %>% separate(ball, c("ball_x", "ball_y", "ball_z"), sep = ",")
#separates one column into multiple
l <- pop %>% separate(ball_x, c("throw","ball_x"), sep = "c")
gh <- l %>% separate(ball_z, c("ball_z", "tra"), sep = "\\)")
Meta <- gh %>% separate(ball_x, c("kol", "ball_x"), sep = "\\(")
Meta$tra <- NULL
Meta$kol <- NULL
Meta$throw <- NULL
return(Meta)
}
但是,当我尝试运行第二个函数时,它告诉我对象“scoop”未定义。我该如何解决?
解决方案
您可以编写这两个函数,第二个函数在其中运行第一个函数:
fxn_import_data <- function(file_path, filen)
{work <-setwd(file_path)
yelp <- stream_in(file(filen))
yelp_flat<- flatten(yelp)
scoop <- as_data_frame(yelp_flat)
}
fxn_import_data <- function(file_path, filen){
scoop <- fxn_import_data(file_path, filen)#RUN THE FIRST FUNCTION AND SAVE THE RESULT AS scoop
scoop$homePlayers <- NULL
scoop$awayPlayers <- NULL
pop <- scoop %>% separate(ball, c("ball_x", "ball_y", "ball_z"), sep = ",") l <- pop %>% separate(ball_x, c("throw","ball_x"), sep = "c")
gh <- l %>% separate(ball_z, c("ball_z", "tra"), sep = "\\)")
Meta <- gh %>% separate(ball_x, c("kol", "ball_x"), sep = "\\(")
Meta$tra <- NULL
Meta$kol <- NULL
Meta$throw <- NULL
return(Meta)
}
请阅读评论
推荐阅读
- reactjs - 如何减少facebook图标上方的巨大上边距
- alibaba-cloud - 如何创建具有唯一名称的实例?
- java - 将 JobIntentService 绑定到 Activity
- ios - 反应原生 iOS - JSON VALUE '
' nsnull 类型的 ' 不能转换为有效的 url - azure - Azure ARM 模板密钥库资源不断删除其他访问策略
- swift - 如何在 Swift 4 中跟踪 Firebase iOS 的离线交易
- ruby - 在更新操作中调用 ActiveRecord .reload 方法导致规范对象具有 nil id
- sqlite - 在 python 中使用 Flask/SQLAlchemy 限制 Chart.js 中的数据
- winforms - 在 VS2017 Winforms 应用程序中存在 IDE 缩放问题
- javascript - Angular 6 嵌套指令