小编use*_*688的帖子

使用R中的条件替换列中的值

我有一个非常基本的R问题,但我很难找到正确的答案.我有一个如下所示的数据框:

 ind<-rep(1:4,each=24)
 hour<-rep(seq(0,23,by=1),4)
 depth<-runif(length(ind),1,50)

 df<-data.frame(cbind(species,ind,hour,depth))
 df$depth<-as.numeric(df$depth)
Run Code Online (Sandbox Code Playgroud)

我希望它选择并将深度<10(例如)的所有行替换为零,但我希望保留与这些行相关的所有信息以及数据框的原始尺寸.

我尝试了以下但这不起作用.

 ind<-rep(1:4,each=24)
 hour<-rep(seq(0,23,by=1),4)
 depth<-runif(length(ind),1,50)

 df<-data.frame(cbind(species,ind,hour,depth))
 df$depth<-as.numeric(df$depth)
Run Code Online (Sandbox Code Playgroud)

有什么建议?

r conditional-statements dataframe

45
推荐指数
2
解决办法
17万
查看次数

R中的快速傅里叶变换

我有一个数据集,其中包含12个月内动物的每小时访问次数.我想使用快速傅立叶变换来检查周期性模式和周期性.在过去,我使用Statistica就是为了这个; 但是,我想用R来得到光谱密度与周期的关系图.在R中有一个简单的方法吗?如果可能的话,我想确定12和24小时的活动高峰.

r fft time-series period spectral-density

27
推荐指数
2
解决办法
4万
查看次数

使用rgl包,R将固定标题放在交互式3D图中

我正在尝试使用R中的rgl包为交互式3D绘图添加固定标题,但到目前为止我还没能做到.我还希望在主标题下有一个主标题和副标题.

这是一个示例代码,

library(rgl)

data<-read.table(text="          X         Y         Z
                 1  147.0883 -18.69122 -13.90000
                 2  147.0894 -18.69455 -10.97250
                 3  147.0883 -18.69122 -17.45000
                 4  147.0883 -18.69122 -15.44000
                 5  147.0883 -18.69122 -13.45000
                 6  147.0909 -18.69922 -12.25000
                 7  147.0883 -18.69122 -17.30000
                 8  147.0883 -18.69122 -16.40000
                 9  147.0883 -18.69122 -14.30000
                 10 147.0883 -18.69122 -18.50000
                 11 147.0883 -18.69122 -15.67606
                 12 147.0883 -18.69122 -17.25780
                 13 147.0883 -18.69122  -3.64000
                 14 147.1164 -18.68133 -22.13000
                 15 147.0883 -18.69122 -18.54778
                 16 147.0883 -18.69122 -15.50000
                 17 147.1185 -18.68691 -14.55500
                 18 147.0883 -18.69122 -18.12500
                 19 …
Run Code Online (Sandbox Code Playgroud)

plot interactive r title rgl

9
推荐指数
2
解决办法
3613
查看次数

将R图中的多边形导出为shapefile

我一直在尝试将绘图的内容(线/多边形)导出为我可以在ArcMap中打开的图层/ shapefile.这些是我一直使用的一些库,

library(shapefiles)
library(PBSmapping)
library(adehabitatHR)
library(maptools)
library(maps)
library(rgdal)
library(igraph)
Run Code Online (Sandbox Code Playgroud)

我的纬度/经度数据如下所示:

tagdata<-read.table(text="meanlat  meanlong
-18.63327 147.0248
-18.6368  147.0238
-18.62068 147.294
-18.62953 147.2942
-18.62953 147.2942
-18.62091 147.2938
-18.62953 147.2942
-18.62466 147.2926
-18.73393 147.2816
-18.73393 147.2816
-18.75383 147.2541
-18.75383 147.2541
-18.75383 147.2541
-18.75383 147.2541
-18.6368  147.0238
-18.63063 147.0256
-18.63063 147.0256
-18.68133 147.1164
-18.6368  147.0238
-18.63063 147.0256
-18.63063 147.0256
-18.75383 147.2541
-18.61273 147.0682
-18.69655 147.09
-18.6368  147.0238
-18.63063 147.0256
-18.63063 147.0256
-18.63217 147.0251
-18.75383 147.2541
-18.75383 147.2541
-18.75383 147.2541
-18.63063 147.0256
-18.68133 147.1164
-18.68133 147.1164 …
Run Code Online (Sandbox Code Playgroud)

export r polygon shapefile

6
推荐指数
1
解决办法
1万
查看次数

在R中创建特定的日期/时间序列

我想创建一个列,其中日期/时间序列每小时增加一年或一个月(例如).我使用这样的代码来生成这个序列:

start.date<-"2012-01-15"
start.time<-"00:00:00"
interval<-60 # 60 minutes
increment.mins<-interval*60 
x<-paste(start.date,start.time)

for(i in 1:365){
   print(strptime(x, "%Y-%m-%d %H:%M:%S")+i*increment.mins)
}
Run Code Online (Sandbox Code Playgroud)

但是,我不确定如何指定日期和小时序列的范围.另外,我在处理第一个小时"00:00:00"时遇到了问题?不确定指定一个月,一年等的日期/时间序列长度的最佳方法是什么?任何建议将不胜感激.

datetime r sequence

2
推荐指数
1
解决办法
9934
查看次数

使用 ggplot2, R 在圆形图上绘制因子的非重叠水平

我正在尝试创建一个圆形图来显示数据集中的月份显示频率/计数,但我也想按季节对月份进行分组。这是一天中时间的类似图,现在我想使用相同的方法来绘制月份/季节。但是,出于某种原因,我似乎无法指定正确的选项来将我的比例分成不重叠的月份类别。任何建议都非常感谢。

library(lubridate)
library(ggplot2)   # use at least 0.9.3 for theme_minimal()
library(circular)

### PLOT FOR HOURS ###

## generate random data in POSIX date-time format
set.seed(44)
N=500
events <- as.POSIXct("2011-01-01", tz="GMT") + 
  days(floor(365*runif(N))) + 
  hours(floor(24*rnorm(N))) +  # using rnorm here
  minutes(floor(60*runif(N))) +
  seconds(floor(60*runif(N)))

# extract hour with lubridate function
hour_of_event <- hour(events)
# make a dataframe
eventdata <- data.frame(datetime = events, eventhour = hour_of_event)
# determine if event is in business hours
eventdata$Workday <- eventdata$eventhour %in% seq(6, 18)

ra<-length(eventdata[,2])

for (i …
Run Code Online (Sandbox Code Playgroud)

plot r histogram ggplot2

2
推荐指数
1
解决办法
1709
查看次数