我是R语言的新手。我有一个包含64个元素的列表(1个元素包含72个观察值)并尝试使用lapply函数创建一个带有其范围的新变量。任何线索都将受到高度赞赏
例如:
$x
Var1 Var2
abc 345
def 678
ghi 891
$x2
Var1 Var2
abc 345
def 678
ghi 891
.
.
.
.
64 elements
required o/p:
$x2
Var1 Var2 var3
abc 345 1
def 678 2
ghi 891 3
.
.
64elements
答案 0 :(得分:0)
我们可以使用lapply
在列表中的数据框中应用函数。
# Create an example list
dt <- data.frame(Var1 = c("abc", "def", "ghi"),
Var2 = c(345, 678, 891),
stringsAsFactors = FALSE)
dt_list <- list(dt, dt)
names(dt_list) <- c("x", "x2")
# Add one new column using lapply
dt_list2 <- lapply(dt_list, function(x){
x[, "Var3"] <- 1:nrow(x)
return(x)
})
dt_list2
# $x
# Var1 Var2 Var3
# 1 abc 345 1
# 2 def 678 2
# 3 ghi 891 3
#
# $x2
# Var1 Var2 Var3
# 1 abc 345 1
# 2 def 678 2
# 3 ghi 891 3