R书(威利)勘误表?

R书(威利)勘误表?,r,R,嗨,我在用Micheal J.Crawley关于R第二版的书学习R。 我遇到了一个障碍,我想知道我正在编写的代码是原因还是应该报告的错误 第36页第2.6.1节是我遇到的小问题 这是我输入的命令,输出作为注释给出: peas <- c(4, 7, 6, 5, 6, 7) class(peas) # [1] "numeric"* length(peas) # [1] 6* peas[1:length(peas) %% 2 == 0] # [1] 7 5 7* peas示例代码peas[1

嗨,我在用Micheal J.Crawley关于R第二版的书学习R。 我遇到了一个障碍,我想知道我正在编写的代码是原因还是应该报告的错误

第36页第2.6.1节是我遇到的小问题

这是我输入的命令,输出作为注释给出:

peas <- c(4, 7, 6, 5, 6, 7)
class(peas)
# [1] "numeric"*
length(peas)
# [1] 6*

peas[1:length(peas) %% 2 == 0]
# [1] 7 5 7*

peas示例代码
peas[1:length(peas)%%2==0]
提取peas数组的偶数索引元素,它与数组元素的值无关。

此示例可能对您有所帮助:

> myMatrix <- c(1,2,3,4,5,6,7,8)
> myMatrix[1:length(myMatrix) %% 2 == 0]
[1] 2 4 6 8
> myMatrix <- c(1,3,5,7,9,11,13,15)
> myMatrix[1:length(myMatrix) %% 2 == 0]
[1]  3  7 11 15
> 
>myMatrix myMatrix[1:长度(myMatrix)%%2==0]
[1] 2 4 6 8
>myMatrix myMatrix[1:长度(myMatrix)%%2==0]
[1]  3  7 11 15
> 

因此,基本上,您要做的是获取myMatrix中的偶数位置,而不是myMatrix的偶数值。

如果您确实想要提取奇数,可以使用:

odd_peas1 <- split(peas1,peas1%%2)

奇数位置和奇数值之间有区别。如果需要奇数值,请使用:

 peas2[ peas2 %% 2 != 0 ]
如果您想要奇数位置:

peas2[ c(TRUE, FALSE) ]  # argument recycling repeats the sequence along full length.

(我对Crawley的书没有特别高的评价,至少在它的第一版中是这样。他在第一版中对R的语法和对象类型的解释留下了很多不尽如人意的地方。这给Rhelp的邮件列表带来了不少问题。在这本书引起的争议之后,我认为支付高价购买第二本书没有任何价值。)

如果代码示例中有换行符,阅读起来会容易得多答案有什么错?
4,7,6,5,6,6,7,4,2,3的偶数索引(带R索引)是7,5,7和2。我不明白这个问题。好的,RishiG,我可能来自很远的地方,请耐心听我说。你所说的“偶数索引”向量的元素应该是奇数,不是吗?为什么偶数的“2”出现在那里?有很多我不明白的地方…答案是正确的。代码不提取奇数值,而是提取向量奇数标记处的值(即元素1、3、5等)。如果要提取奇数元素,请执行
peas2[peas2%%2!=0]
Ok Alex…然后,如果我按照MrFlick解释,该命令将查看索引的奇数或均匀度,而不是存储在向量中这些位置的值?是的MrFlick命令将作为“广告”使用…MrFlick向量上的索引从1或0开始?我以为是请求的奇数值?看来我犯了错误,然后去读他的书…也许CRC的R系列书或O'Reilley的书更合适。你有什么建议吗?我仔细看了两本Matloff的书《R编程的艺术》和德弗里斯和梅斯的《R为傻瓜》"。两者都是可靠和准确的。正如所料,马特洛夫的《R为傻瓜》在结尾有更复杂的C代码,而《R为傻瓜》则更详细地介绍了ggplot2和RStudio。克劳莱的价值将是作为一本方法手册,但我认为他的《R教程》在语言方面缺乏精确性,我认为这是一个严重的失败。正如我所说的这只是对第一版的评论。我怀疑他的出版商是否会给我一份评论。感谢您阅读这两本书。我同意您的评估,即教程在语言上缺乏精确性,但在对他所下命令的描述上也缺乏精确性。理解他的一些命令确实需要额外的努力,至少在第一章…我以后会看到更多。
odd_peas1 <- split(peas1,peas1%%2)
 peas2[ peas2 %% 2 != 0 ]
peas2[ c(TRUE, FALSE) ]  # argument recycling repeats the sequence along full length.