使用r读取2列向量的元素,并返回与相应的第1列名称匹配的项
我需要取r中的两列向量。在第一列中我有日期,2011年12月21日格式,在第二列中我有一个数字,255格式 我需要选择一个数字,比如255,看看它是否与第二列中的任何数字匹配。如果匹配,我需要返回匹配的日期 我知道比赛,计数,等等,但我似乎无法把它放在一起。我是个新手,也许这有点超出我的能力,但我想如果我学到了一些东西,我会做得更好 问题中有一些部分匹配,但没有我想要的那么详细 如果有人能给我一些教训,我会非常高兴的。如果你在书中有参考文献,如果你告诉我参考文献,我会自己做使用r读取2列向量的元素,并返回与相应的第1列名称匹配的项,r,R,我需要取r中的两列向量。在第一列中我有日期,2011年12月21日格式,在第二列中我有一个数字,255格式 我需要选择一个数字,比如255,看看它是否与第二列中的任何数字匹配。如果匹配,我需要返回匹配的日期 我知道比赛,计数,等等,但我似乎无法把它放在一起。我是个新手,也许这有点超出我的能力,但我想如果我学到了一些东西,我会做得更好 问题中有一些部分匹配,但没有我想要的那么详细 如果有人能给我一些教训,我会非常高兴的。如果你在书中有参考文献,如果你告诉我参考文献,我会自己做 多谢各位。我正在Wi
多谢各位。我正在Windows XP SP3环境中使用R2.13.1。您可能需要查看子集
> x1 <- rnorm(20)*10
> y1 <- rnorm(20)*5
> z1 <- cbind(round(abs(x1),0), round(abs(y1),0)) ## just creates 2 columns of data.
> z1
[,1] [,2]
[1,] 9 1
[2,] 6 6
[3,] 3 7
[4,] 10 0
[5,] 9 2
[6,] 7 7
[7,] 7 10
[8,] 3 1
[9,] 6 10
[10,] 6 5
[11,] 0 11
[12,] 5 0
[13,] 0 8
[14,] 2 4
[15,] 1 2
[16,] 3 3
[17,] 9 7
[18,] 12 4
[19,] 1 1
[20,] 6 3
> ss1 <- subset(z1, z1[,2]==2) ## creates subset of 'z1' where column 2 equals 2.
> ss1 ## shows contents of ss1
[,1] [,2]
[1,] 9 2
[2,] 1 2
熟悉R中的索引将有助于您完成此任务和许多其他任务,而不需要额外的功能。要仅选择矩阵或数据框中的某些行和列,格式为x[行,列],其中保留行或列为空将显示所有行和列 对你来说,这就是我们能做的。首先,让我们创建一个示例矩阵注意,“2列向量”实际上是一个矩阵:
x <- cbind(c("12/11/11", "12/10/11", "10/16/11",
"11/07/11"), c(1, 255, 3, 255))
# [,1] [,2]
#[1,] "12/11/11" "1"
#[2,] "12/10/11" "255"
#[3,] "10/16/11" "3"
#[4,] "11/07/11" "255"
将此逻辑向量插入行索引将只返回标记为TRUE的行
要仅显示日期,请在索引中指定第1列:
x[x[,2]==255,1]
#[1] "12/10/11" "11/07/11"
还考虑使用合并,在数据帧中有一个查找值列和日期列,然后将其与另一个具有要查找的值的数据帧或要查找的一组值合并。默认情况下,它将返回一个数据框,其中只包含两个组中匹配的值,您可以设置参数以保留不匹配的值,并且这些参数将丢失值以表明它们不匹配。
一些人会很乐意回答,但如果我们有一个示例可以使用,则会更容易提供帮助。克利夫笔记:在这里给我们dputheadyourdata的结果,20开始:哇…很重。我会研究这两个。这里有一些重要的价值。谢谢你,下面是一些我必须学习的新东西。谢谢,没问题。注意@screechOwl的答案也需要索引。一旦你掌握了索引的窍门,我就再怎么强调也不为过了。我一直在练习向量,你能推荐一些关于索引的书吗?我的教育大多是从网上资源拼凑而成的。Quick-R是一个很好的基础知识页面。以下是他们关于数据子集页面的链接:x[x[,2]==255,]
# [,1] [,2]
#[1,] "12/10/11" "255"
#[2,] "11/07/11" "255"
x[x[,2]==255,1]
#[1] "12/10/11" "11/07/11"