【发布时间】:2019-03-18 09:11:18
【问题描述】:
我正在尝试可视化文本数据如何在句子中的位置分布。这是一些模拟数据:
# create mock data:
dfmock <- data.frame(letter = c(sample(letters[1:3], 25, replace = T)),
position = c(rep(1, 5), rep(2, 5), rep(3, 5), rep(4, 5), rep(5, 5))
)
对于情节,我首先创建一个虚拟框架:
# create dummy data frame for plot:
dummytest <-data.frame(slots = 1:5, rows = 1:5)
然后绘制虚拟框架的轮廓:
# plot:
plot(dummytest$rows ~ dummytest$slots, type="n", frame=F, axes=F)
axis(1, at=seq(1:5), labels=unique(dfmock$position))
现在我想强调一下,比如项目“a”的出现;为此,我定义了一个循环并使用 text() 函数使用红色实线突出显示“a”并将其他所有内容打印为灰色:
# print "a" in positions:
for(i in unique(dfmock$position)){
text(i, 1:5, "___", cex=1.75,
col = ifelse(dfmock[dfmock$letter=="a",]$position==i, "red", "grey"))
}
在制作绘图时,每个位置显示的高光数量错误。我无法弄清楚这是为什么。非常感谢您的帮助!
【问题讨论】:
标签: r for-loop visualization