我有一个列表,假设是这样的:
dataSet$mixed_bag <- list("Hello", c("USA", "Red", "100"), c("India", "Blue", "76"))
我想遍历这个列表并根据列表中的内容创建新的变量。伪代码如下所示:
foreach row in dataSet$mixed_bag {
if (sapply(dataSet$mixed_bag, length) == 3) {
dataSet$country <- dataSet$mixed_bag[[row]][1];
dataSet$color <- dataSet$mixed_bag[[row]][2];
dataSet$score <- dataSet$mixed_bag[[row]][3];
} else if (sapply(dataSet$mixed_bag, length) == 2) {
#Do something else
} else {
# Do nothing
}
}
请建议我如何在R中完成这个任务。
lapply
吗? - zx8754dput(dataSet)
的输出结果? - zx8754length(dataSet$mixed_bag[[row]])
而不是sapply(dataSet$mixed_bag, length)
?if
语句中的条件写法没有意义,因为它将一个向量与一个值进行比较,在这种情况下,您将收到警告,只使用了向量的第一个元素。 - konvas