0

我想要有两列的数据框,其中一列是字符,第二列是列表。
我需要的只是有两个函数:
-createEmptyDf()它创建没有行的此类数据框
-addRowToDf(df, valueCharacter, valueList)向 df 添加一行然后返回它

我对这两个变量都有一些问题,尤其是当我向空 df 添加一行时。
有人可以告诉我如何简单地制作它吗?

例子:

df <- createEmptyDf()  
nrow(df) # should return 0  
df <- addRowToDf(df, "AAA", list("A", 1, "B"))  
nrow(df) # should return 1   
df[1, "varCharacter"] # should return "AAA"  
df[1, "varList"] # should return list("A", 1, "B") 

我终于知道出了什么问题 - 当我想添加新行时,valueList 应该像 I(list(list(values))):

回答

createEmptyDf <- function(){
  df <- data.frame(varCharacter = character(0), varList = I(list()))
  return(df)
}

 addRowToDf <- function(df, valueCharacter, valueList){
   row <- data.frame(varCharacter = valueCharacter, varList = I(list(valueList)))
   df <- rbind(df, row)
   return(df)
}

df <- createEmptyDf()
df <- addRowToDf (df, "AAAA", list("A", 2 ,3))
4

0 回答 0