带有列表列的数据框

时间:2013-05-06 10:48:13

标签: r dataframe

我希望数据框有两列,其中一列是第一个字符,第二列是列表 我只需要有两个功能:
- 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应该像我(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))

0 个答案:

没有答案