R语言 对具有相同根的变量重复计算

rsl1atfo  于 2023-07-31  发布在  其他
关注(0)|答案(1)|浏览(120)

这是一个玩具数据框:

mydata<-structure(list(katz1 = c(1, 1, 1, 0, 1, 1, 1, 1, 1, 0), katz2 = c(1,
1, 1, 1, 1, 1, 1, 1, 1, 1), katz3 = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1)), row.names = c(NA, 10L),
class = c("tbl_df", "tbl", "data.frame" ))

字符串
我想为每个katz变量建立一个循环表。这并不奏效:

for (i in 1:3) 
{
  item<-paste0("mydata","$","katz",i)
  table(item,useNA="ifany")
}


它会创建项,但表不会应用于该项。
怎么了?

  • 谢谢-谢谢
p8h8hvxi

p8h8hvxi1#

在括号中只使用列名作为子集。

for (i in 1:3) {
  item <- paste0("katz", i)
  print(table(mydata[, item], useNA="ifany"))
}

字符串
或者,为了避免for循环,在lapply中使用grepl。这将标识名称中包含"katz"的列,并对它们应用table

lapply(mydata[grepl("katz", names(mydata))], table, useNA="ifany")

相关问题