找不到对象-正在R中写入子集函数
我有以下数据集:找不到对象-正在R中写入子集函数,r,list,function,nested-lists,R,List,Function,Nested Lists,我有以下数据集: dput(head(test1, 10)) structure(list(startdate = structure(c(1572994800, 1572994800, 1572994800, 1572994800, 1572994800, 1572994800, 1572994800, 1572994800, 1572994800, 1572994800), class = c("POSIXct", "POSIXt"), tzone = ""), id = c
dput(head(test1, 10))
structure(list(startdate = structure(c(1572994800, 1572994800,
1572994800, 1572994800, 1572994800, 1572994800, 1572994800, 1572994800,
1572994800, 1572994800), class = c("POSIXct", "POSIXt"), tzone = ""),
id = c("POL55", "POL56", "POL57", "POL58", "POL59", "POL60",
"POL61", "POL62", "POL63", "POL64"), m0_9 = c(NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_), m10_19 = c(NA, NA, NA, 32, 34, NA, NA,
NA, NA, 55), m20_29 = c(NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_
), m30_39 = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, 32), m40_49 = c(32,
34, NA, NA, NA, NA, 55, 3, NA, NA), m50_59 = c(NA, NA, NA,
NA, NA, NA, 32, 34, NA, NA), m60_69 = c(NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_), m70 = c(NA, NA, NA, NA, NA, NA, 32,
34, NA, NA), f0_9 = c(32, 34, NA, NA, NA, NA, 55, 3, NA,
NA), f10_19 = c(NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_), f20_29 = c(NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_), f30_39 = c(NA, NA, NA, 32,
34, NA, NA, NA, NA, 55), f40_49 = c(NA, NA, NA, NA, NA, 32,
34, NA, NA, NA), f50_59 = c(NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_), f60_69 = c(NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_
), f70 = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, 32)), row.names = c(NA,
-10L), class = c("tbl_df", "tbl", "data.frame"))
我正在编写一个小函数(它将是更大函数的一部分)。然而,我似乎有点不对劲,就像
test1$startdate <- as.POSIXct(test1$startdate, origin="1970-01-01")
createLists("POL55", as.POSIXct(2019-11-27, origin="1970-01-01"))
createLists <- function(id, start){
testFiltered = test1[id == id & startdate == start]
ageGroup <- vector("list", length == nrow(testFiltered))
names(ageGroup) <- as.character(seq_along(ageGroup))
return(ageGroup)
}
test1$startdate这很有希望完成这项工作
createLists <- function(id, start) {
testFiltered = test1[test1$id==id & test1$startdate == start,] # need test1$id etc.
if(nrow(testFiltered) > 0) { # in case empty subset
ageGroup <- vector("list", length = nrow(testFiltered)) # Only one '=' here
names(ageGroup) <- as.character(seq_along(ageGroup))
return(ageGroup)
}
else
cat("Nothing to return\n")
}
createLists("POL55", as.POSIXct('2019-11-06', origin="1970-01-01"))
createLists 0){#如果是空子集
年龄组您是否期望test1
是一个数据表
?因为这看起来不像是对数据框
进行子集的正确方法。它更像是测试过滤的。您是否知道2019-11-27
是一个减法序列,而不是字符串?请更正@MrFlick指出的内容,然后重试然后还有length==nrow(etc)
。只有一个=
,请问…什么时候可以用这种方式进行子集?df_filterd=df[x==value&y==amount]?可能会列出?…我正在处理别人的代码,不知道为什么会这样way@Danka我认为这只适用于data.table
s。您将需要该包并专门使用这些对象。