在变量 r 中使用 i
Use i in variable r
我想使用 i
变量循环这段代码,每次迭代将 FAQ$q1
更改为 FAQ$q2
、FAQ$q3
。我该怎么做?
for(i in 1: 19){
yes <- table(FAQ$q1)[1]
no <- table(FAQ$q1)[2]
b <- barplot(table(FAQ$q1),
main="Did you have any difficulties using the chatbot?",
ylab="Count",
names.arg = c("yes", "no"),
col="blue",
ylim = c(0,28))
abline(v=c(1.3) , col="grey")
text(b, y=c(yes+1,no+1), paste("n: ", c(yes,no) , sep=""), cex=1, col = "red")
}
我们可以使用 paste
为列名创建一个字符串并使用 [[
提取(因为 $
将尝试逐字匹配)。如果我们想将绘图重定向到单个 pdf,则将绘图写入 pdf
。在代码中,table
函数多次应用于同一列,而是执行一次并创建一个对象 ('tbl1'),该对象在必要时重复使用
pdf("path/to/file.pdf")
for(i in 1:19){
colnm <- paste0("q", i)
tbl1 <- table(FAQ[[colnm]])
yes <- tbl1[1]
no <- tbl1[2]
b <- barplot(tbl1,
main="Did you have any difficulties using the chatbot?",
ylab="Count",
names.arg = c("yes", "no"),
col="blue",
ylim = c(0,28))
abline(v=c(1.3) , col="grey")
text(b, y=c(yes+1,no+1), paste("n: ", c(yes,no) , sep=""), cex=1, col = "red")
}
dev.off()
paste0
和 paste
的区别在于 sep
。默认情况下 paste
使用 sep = " "
而 ""
在 paste0
我想使用 i
变量循环这段代码,每次迭代将 FAQ$q1
更改为 FAQ$q2
、FAQ$q3
。我该怎么做?
for(i in 1: 19){
yes <- table(FAQ$q1)[1]
no <- table(FAQ$q1)[2]
b <- barplot(table(FAQ$q1),
main="Did you have any difficulties using the chatbot?",
ylab="Count",
names.arg = c("yes", "no"),
col="blue",
ylim = c(0,28))
abline(v=c(1.3) , col="grey")
text(b, y=c(yes+1,no+1), paste("n: ", c(yes,no) , sep=""), cex=1, col = "red")
}
我们可以使用 paste
为列名创建一个字符串并使用 [[
提取(因为 $
将尝试逐字匹配)。如果我们想将绘图重定向到单个 pdf,则将绘图写入 pdf
。在代码中,table
函数多次应用于同一列,而是执行一次并创建一个对象 ('tbl1'),该对象在必要时重复使用
pdf("path/to/file.pdf")
for(i in 1:19){
colnm <- paste0("q", i)
tbl1 <- table(FAQ[[colnm]])
yes <- tbl1[1]
no <- tbl1[2]
b <- barplot(tbl1,
main="Did you have any difficulties using the chatbot?",
ylab="Count",
names.arg = c("yes", "no"),
col="blue",
ylim = c(0,28))
abline(v=c(1.3) , col="grey")
text(b, y=c(yes+1,no+1), paste("n: ", c(yes,no) , sep=""), cex=1, col = "red")
}
dev.off()
paste0
和 paste
的区别在于 sep
。默认情况下 paste
使用 sep = " "
而 ""
在 paste0