使用 R 逐行将数据读入数据帧
Read data into dataframe by row with R
我正在学习编写一个 R 函数以从键盘获取输入以在新数据帧和 return 新数据帧中创建一组新行:
enterData <- function(numRows, df_name="enterDataDF"){
#two parameters: how many times to run (how many rows do you want) and
dataframe name to be preserved
#create an empty dataframe with slots for number of rows user specifies
tempdf <- data.frame(id=1:numRows)
#get input data from keyboard
for (i in 1:numRows)
{
userID <- as.character(readline("What is userID? "))
eventTime <- as.numeric(readline("What is Time To Event? "))
outcome <- as.character(readline("What is Outcome (0=fail, 1=success)? "))
#put row just entered into the ultimate dataframe
df_name <- rbind(tempdf, c(userID, eventTime, outcome))
#print a blank line for readability
print("")
}
#show the inputted data
print("Displaying collected data")
df_name
#return dataframe back to calling program
return (df_name)
}
我遇到了一些错误,如下所示:
Error #1 Code: for (i in 1:numRows) Error: Error in 1:numRows : NA/NaN
argument
Error #2 Code: df_name Error: object 'df_name' not found
Error #3 Code: return (df_name) Error: object 'df_name' not found
你能告诉我是什么导致了这些错误吗?
此外,我将如何调用该函数,只需调用该函数,还是需要通过 x<- enterData
之类的变量接收数据帧?
如能改进获取数据行的方法,我们将不胜感激。
谢谢
你运行这是在 Rstudio 还是 R 上?一个错误可能是检查您的注释以确保它们确实被注释掉了。
我 运行 它在 Rstudio 和控制台上。除了 eventTime 和结果之外,一切都在打印出来。
我正在学习编写一个 R 函数以从键盘获取输入以在新数据帧和 return 新数据帧中创建一组新行:
enterData <- function(numRows, df_name="enterDataDF"){
#two parameters: how many times to run (how many rows do you want) and
dataframe name to be preserved
#create an empty dataframe with slots for number of rows user specifies
tempdf <- data.frame(id=1:numRows)
#get input data from keyboard
for (i in 1:numRows)
{
userID <- as.character(readline("What is userID? "))
eventTime <- as.numeric(readline("What is Time To Event? "))
outcome <- as.character(readline("What is Outcome (0=fail, 1=success)? "))
#put row just entered into the ultimate dataframe
df_name <- rbind(tempdf, c(userID, eventTime, outcome))
#print a blank line for readability
print("")
}
#show the inputted data
print("Displaying collected data")
df_name
#return dataframe back to calling program
return (df_name)
}
我遇到了一些错误,如下所示:
Error #1 Code: for (i in 1:numRows) Error: Error in 1:numRows : NA/NaN argument
Error #2 Code: df_name Error: object 'df_name' not found
Error #3 Code: return (df_name) Error: object 'df_name' not found
你能告诉我是什么导致了这些错误吗?
此外,我将如何调用该函数,只需调用该函数,还是需要通过 x<- enterData
之类的变量接收数据帧?
如能改进获取数据行的方法,我们将不胜感激。
谢谢
你运行这是在 Rstudio 还是 R 上?一个错误可能是检查您的注释以确保它们确实被注释掉了。
我 运行 它在 Rstudio 和控制台上。除了 eventTime 和结果之外,一切都在打印出来。