【问题标题】:How to read a segment of rows from one file in R?如何从R中的一个文件中读取一段行?
【发布时间】:2015-09-14 18:42:29
【问题描述】:

我一直试图只制作一部分数据的直方图,但没有成功。我知道如何选择带有 $ 符号的列,但我不知道如何只选择某些行。我已经意识到,也许首先需要解决的问题是只读取选定的列。

例如,我的数据如下所示:

   Frequency Prime_type     RT
 1      high      prime    450
 2      high      prime    460
 3       med      prime    520
 4       med      prime    430
 5       low      prime    450
 6       low      prime    420

我想为“high”、“med”和“low”制作单独的直方图,同时使用 RT 中的整数。我在正确的轨道上吗,有没有办法只读取“高”行,如果是这样,我该怎么做?谢谢。

【问题讨论】:

  • yourData[yourData$Prime_type == 'high',] 将给出“高”子集
  • 看看?"["
  • 这似乎不起作用。首先,我想要RT,所以我最初是在做:hist(data1$RT)。然后,只想要“高”,所以无论我是否执行 data1[data1$RT == 'high'],它只是说“具有 0 列和 300 行的数据框,或者我是否尝试类似 hist(data1[data1$ RT == 'high'),我得到错误。对于第二个,错误是错误在 hist.default(data1[data1$RT == "high"]) : 'x' must be numeric
  • 不是RT == 'high'。具有高/低值的列是频率,所以它是Frequency == 'high'

标签: r histogram readfile


【解决方案1】:
highData <- yourData[yourData$Freqeuncy == 'high',]

highData <- subset(yourData, Frequency == "high")

现在,当您查看 RT highData$RT 时,您将得到的只是原始数据对象中标记为高的案例。用中低重复来获得这些数据。

【讨论】:

  • 看起来可行,谢谢!我是 R 新手,花了几个小时在不同的教程中寻找答案,我阅读了有关直方图的部分并仔细阅读了文件,但无济于事。我也尝试过使用 R 的帮助功能。您使用的括号 [ ] 的名称是什么?或者有没有办法在未来寻找类似问题的解决方案?再次感谢。
  • 这是一种选择数据的方式,查找它的术语可能是“子集”或“子集”。第一个示例的格式是[rows, columns]。所以我所做的是选择列Frequency等于“高”的所有行。
  • @PeterWilliams 要获得特殊字符的帮助,请在它们周围使用引号。在这种情况下,试试 ?"["
【解决方案2】:

试试:

with(data[data$Frequency=="high",], hist(RT))

然后通过在适当的位置替换“中”和“低”来重复其他组。

如果您想在ggplot2 中一次性完成所有操作,您可以使用:

library(ggplot2)
ggplot(data, aes(x=RT)) + geom_histogram() + facet_grid(Frequency ~ .)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-24
    • 1970-01-01
    • 1970-01-01
    • 2013-07-28
    • 2021-03-29
    • 2017-10-23
    • 1970-01-01
    相关资源
    最近更新 更多