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