我有一百万点和一个大的形状文件-8GB-这太大了,无法加载到我系统上的R内存中.形状文件是单层的,因此给定的x,y最多只能击中一个多边形 - 只要它不完全在边界上!每个多边形都标有一个severity-例如1,2,3.我在64位ubuntu机器上使用R,配备12GB内存.
什么是最简单的方法能够"标签"的数据帧的多边形severity,让我得到了data.frame一个额外的列,即x,y,severity?
假设我在数据框中有一列“名称” df:
apple
apple123
app
be
aple
Run Code Online (Sandbox Code Playgroud)
并且,我想检查该name列中的每一行是否都包含单词apple。我这样做的方法是使用grepl, grepl('apple',df$name),我希望它会返回'TRUE','TRUE','FALSE','FALSE','FALSE',但是,它返回了 5 'FALSE'。
我在这里做错了什么吗?如果没有grep,我应该使用什么函数?
虽然我知道如何计算R中的平均值,但我似乎无法理解如何在不同条件下进行计算.我读过的其他帖子并不复杂.
> Target/dictractor TrialType Bin0 Bin1 Bin2 Bin3
1 Target 2C 3 0 2 0
1 Target 2C 2 0 3 0
1 Target 2E 0 1 1 2
1 Target 2E 0 0 0 0
1 Distractor 2C 0 3 0 1
1 Distractor 2C 0 0 0 0
1 Distractor 2E 0 0 1 0
1 Distractor 2E 0 0 0 3
2 Target 2C 1 1 0 1
2 Target 2C 2 0 0 2
2 Distractor …Run Code Online (Sandbox Code Playgroud) 我想通过ggplot2中的数据变量facet_wrap一个地图,例如下面例子中的'pets'.这是否需要完全复制每个变量类别的强化地图数据?那会让我觉得有点傻.有替代方法吗?
require(ggplot2)
(nz_dat = data.frame(island = rep(c('North.Island ','South.Island '), 3),
pets = c('cats','cats','dogs','dogs','birds','birds'),
n = c(13, 26, 48, 74, 24, 17)))
island pets n
1 North.Island cats 13
2 South.Island cats 26
3 North.Island dogs 48
4 South.Island dogs 74
5 North.Island birds 24
6 South.Island birds 17
nz = map_data("nz")
nz = subset(nz, nz$region %in% c('North.Island ','South.Island ')) # 2 main islands
# simple plot
ggplot(nz, aes(long, lat, group=group, fill=factor(region))) +
geom_polygon() + coord_quickmap()
Run Code Online (Sandbox Code Playgroud)
我想创建一个单一的正则表达式(如果可能的话)来搜索字符串并确定两个单词是否出现在同一个字符串中.我知道我可以使用两个grepl语句(如下所示),但我想使用单个正则表达式来测试这个条件.正则表达式越有效越好.
我想找到包含"man"和"dog"不区分大小写的字符串.
x <- c(
"The dog and the man play in the park.",
"The man plays with the dog.",
"That is the man's hat.",
"Man I love that dog!",
"I'm dog tired"
)
## this works but I want a single regex
grepl("dog", x, ignore.case=TRUE) & grepl("man", x, ignore.case=TRUE)
Run Code Online (Sandbox Code Playgroud) 我想在a data.frame和线性插入所有缺失值之间添加最小和最大日期之间的所有缺失日期,例如
df <- data.frame(date = as.Date(c("2015-10-05","2015-10-08","2015-10-09",
"2015-10-12","2015-10-14")),
value = c(8,3,9,NA,5))
date value
2015-10-05 8
2015-10-08 3
2015-10-09 9
2015-10-12 NA
2015-10-14 5
date value approx
2015-10-05 8 8
2015-10-06 NA 6.33
2015-10-07 NA 4.67
2015-10-08 3 3
2015-10-09 9 9
2015-10-10 NA 8.20
2015-10-11 NA 7.40
2015-10-12 NA 6.60
2015-10-13 NA 5.80
2015-10-14 5 5
Run Code Online (Sandbox Code Playgroud)
有没有一个明确的解决方案dplyr和approx?(我不喜欢我的10行for循环代码.)
由于一个愚蠢的错误和有缺陷的USB记忆棒我丢失了一堆数据,我现在正试图恢复它.
打开RStudio时,某些数据仍显示在Viewer选项卡中.但是,我只能将R脚本和R Markdown文件保存在Viewer之外.显示的数据框很好而且完整,我可以在Viewer中对它们进行排序和过滤,但是,我找不到"保存"选项.是否有可能将此显示的数据保存到Rdata或csv或类似的东西?
我正在写我的第一个Shiny应用程序,到目前为止我正在享受它.我的应用程序适用于数据框架,其中包含许多测量膳食方面的变量.它允许用户使用滑块选择六个连续变量的范围.这些输入用于对数据帧进行子集化,然后ggplot基于数据子集创建a .
我的问题是这样 - 当选择的范围导致子集化数据框中没有数据时,我会在主面板中打印出这条红色错误消息,其中绘图通常是:
Error: argument is of length zero (from: Error in if (nrow(layer_data) == 0) return() : argument is of length zero).
Run Code Online (Sandbox Code Playgroud)
我理解为什么会发生这种错误,如果我在典型的数据分析会话期间获得静态图,这是有道理的.但是,我正试图找出在闪亮的Web应用程序情况下处理此问题的正确方法.
由于此消息对用户没有意义,我想:
1)能够用合理的消息代替它或者
2)返回空白图表或
3)什么都不显示(即当数据框为空时没有错误信息或图表给用户)
问题是,如果我检查一个空数据框并返回一个不同的(空白)绘图或消息,那么当用户将滑块设置更改为具有数据的内容时,不会出现正确的绘图(因为反应对象是不再相同).如果我只是让错误消息显示现在并且用户更改设置,则图表会相应更新.
有人可以推荐一种方法在Shiny中优雅地处理这个问题吗?
df1 <- data.frame(a = 1:2, b = 3:4)
df2 <- data.frame(a = 5:6, b = 7:8)
# A common method loses the origin of each row.
do.call("rbind", list(df1, df2))
## a b
## 1 1 3
## 2 2 4
## 3 5 7
## 4 6 8
# Whereas here, X1 records which data frame each row originated in.
library(plyr)
adply(list(df1, df2), 1)
## X1 a b
## 1 1 1 3
## 2 1 2 4
## 3 …Run Code Online (Sandbox Code Playgroud) 如何获取Windows计算机的总磁盘空间/可用磁盘空间?
如果没有R函数,可能有一个我可以在R system函数中使用的Windows命令,但我无法找到该命令.