我有一个21638独特*行的表: vocabulary <- read.table("http://socserv.socsci.mcmaster.ca/jfox/Books/Applied-Regression-2E/datasets/Vocabulary.txt", header=T) 这个表格有五个栏目,第一个栏目是答辩人的ID号码。 我想检查是否有任何受访者出现两次,或者如果所有受访者都是独一无二的。 统计我可以使用的唯一ID length(unique(vocabulary$id)) 并检查是否有重复我可能会做 length(unique(vocabulary$id)) == nrow(vocabulary) 如果没有重复(不存在),则返回TRUE 。 我的问题: 有直接的方法来返回重复的值或行号? 进一步的解释: 使用函数duplicated()有一个解释问题,因为它只是返回严格意义上的重复项,不包括“原始数据”。 例如, sum(duplicated(vocabulary$id))或dim(vocabulary[duplicated(vocabulary$id),])[1]可能会返回“5”作为重复行数。 问题是,如果你只知道重复的数量,你将不知道他们有多less行重复。 “5”是指有五行,每一行有一个重复,还是有一行有五个重复? 而且由于您不会有重复的ID或行号,您将无法find“原件”。 * 我知道在这个调查中没有重复的ID,但是这是一个很好的例子,因为使用任何其他地方给出的答案,比如duplicated(vocabulary$id)或者table(vocabulary$id)都会输出干草堆你的屏幕,你将无法find任何可能的罕见重复的针头。
我有一个逻辑向量,我希望在特定的索引处插入新的元素。 我已经提出了一个笨拙的解决scheme,但有一个更好的方法? probes <- rep(TRUE, 15) ind <- c(5, 10) probes.2 <- logical(length(probes)+length(ind)) probes.ind <- ind + 1:length(ind) probes.original <- (1:length(probes.2))[-probes.ind] probes.2[probes.ind] <- FALSE probes.2[probes.original] <- probes print(probes) 给 [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE 和 print(probes.2) 给 [1] TRUE TRUE TRUE TRUE TRUE FALSE […]
我创build了一些R代码供R谁不知道的人使用(虽然我自己很绿)。 我一直在让人们将最初的数据粘贴到R控制台(结果混杂),我希望能够为用户input数据build立更友好的用户界面。 理想情况下,有人可以坐在控制台上,键入一个命令,并提示有关如何input数据的具体问题。 例如,一个人加载r并看到一个提示: What is x value? 该人input: 2 下一个提示: What is y value? 人员types: 3 下一个提示: What are T values? 人员types: 4,3,2,1 下一个提示: 什么是V值? 人员types: 4,5,6,9 而这4个新定义的variables(X,Y,T,V)R的下一步就是运行预写的代码 X+Y V+T 在控制台中popup答案 5 8 8 8 10 大家都很开心 我的道歉,因为这不是一个可重复的代码types的问题,但我不知道如何处理让R问问题,而不是我问问关于R!
我想找一个string中的一个字符的位置。 说: string = "the2quickbrownfoxeswere2tired" 我想函数返回4和24 – string中的2秒的字符位置。
我有一个从蝾螈胆量来的各种节肢动物的长度和宽度的数据框。 因为有些胆量有成千上万的猎物,我只测量了每种猎物types的一个子集。 我现在想用每个不可测量的个体来replace那个猎物的平均长度和宽度。 我想保持数据框,只是添加估算列(length2,width2)。 主要原因是每一行也有蝾螈收集date和地点的数据栏。 我可以用随机select的测量个体来填写NA,但是为了论证,我们假设我只想用平均值replace每个NA。 例如,假设我有一个像这样的数据框: id taxa length width 101 collembola 2.1 0.9 102 mite 0.9 0.7 103 mite 1.1 0.8 104 collembola NA NA 105 collembola 1.5 0.5 106 mite NA NA 事实上,我有更多的专栏和大约25种不同的分类群,总共有大约3万个猎物。 似乎plyr包可能是理想的,但我只是不知道如何做到这一点。 我不是很R或编程精明,但我试图学习。 不是说我知道自己在做什么,但是如果有帮助,我会尝试创build一个小数据集。 exampleDF <- data.frame(id = seq(1:100), taxa = c(rep("collembola", 50), rep("mite", 25), rep("ant", 25)), length = c(rnorm(40, […]
我有一个for循环: for (i in 1:10){ Ai=d+rnorm(3)} 我想要做的是有A1, A2,A3…A10和variables名称中的variablesi 。 它不这样工作,但我可能错过了一些小东西。 如何在for循环中使用i来分配不同的variables名称?
在之前的ggplot2版本中,我能够使用以下两个命令之一来格式化我的xdate: scale_x_date(breaks = "1 month", minor_breaks = "1 week", labels=(date_format="%B")) + 要么 scale_x_date(major="months", minor="weeks", format="%B") + 生成全月份名称的“%B”格式。 (恐怕我不能再区分哪一个工作了,因为他们都被注释掉了。) 我不记得什么时候,但更新R或ggplot在Ubuntu 12.04升级后,这不再为我工作。 现在,相同的数据会产生错误: Error in scale_labels.continuous(scale) : Breaks and labels are different lengths 与第一,和 Error in continuous_scale(aesthetics, "date", identity, breaks = breaks, : unused argument(s) (major = "months", minor = "weeks", format = "%B") 随着第二。 如果我删除标签=参数,并申请 scale_x_date(breaks […]
我有一个来自ggplot2的对象,比如myPlot ,我怎样才能确定x轴和y轴的范围? 它似乎不是数据值范围的简单倍数,因为可以重新绘制图表,修改坐标轴的范围等等。 findFn (来自sos )和Google似乎没有find相关的结果,除了如何设置轴的范围。
在R中读取我的数据时,如下所示: Dataset.df <- read.table("C:\\dataset.txt", header=T) 我收到以下错误信息: Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, : line 1 did not have 145 elements 这是什么意思,有人可以告诉我如何解决?
文件说 vapply类似于sapply ,但具有预先指定的返回值types,因此可以更安全地使用。 请你详细说明为什么它通常更安全,也许提供例子? PS:我知道答案,我已经倾向于避免sapply 。 我只希望在这里有一个很好的答案,所以我可以指出我的同事。 请不要“阅读手册”的答案。