我花了一些时间试图弄清楚当应用scale_x_datetime时为什么小时刻度被移动了.我已经尝试在创建日期/时间列时给出时区.我在包中使用了ggplot和scale_x_datetime().小时刻度错误,哪个数据点与其日期/时间列中的时间不匹配.
以下是处理我的数据集的一些过程.
DF$DateTime<-as.POSIXct(DF$timestamp,format="%m/%d/%y %H:%M", tz="America/Toronto")
DF$Date<-as.Date(DF$DateTime)
lims <- as.POSIXct(strptime(c("2015-07-21 00:00","2015-07-23 00:00"), format = "%Y-%m-%d %H:%M"), tz="America/Toronto")
ggplot(DF) + geom_line(aes(x=DateTime, y=-Diff,group=Date)) + scale_x_datetime(limits =lims, breaks=date_breaks("2 hour"), labels=date_format("%m/%d %H:%M"))
Run Code Online (Sandbox Code Playgroud)
我在这里错过了吗?请帮我搞清楚.非常感谢!
我正在修改用F77编写的旧源代码到F90.我痛苦地解决了哪个变量是意图(in),intent(out)和intent(inout).
你有任何指导或提示吗?
任何想法和建议表示赞赏.
迈克尔
我按照一些类似的帖子来修改代码,但是仍然会生成警告.
$ g++ ncfile.c -o ncfile -g -lnetcdf
ncfile.c: In function ‘int main(int, char**)’:
ncfile.c:363: warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘size_t’
ncfile.c:363: warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘size_t’
ncfile.c:364: warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘size_t’
ncfile.c:364: warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘size_t’
Run Code Online (Sandbox Code Playgroud)
在第363和364行的那个区块中:
for(i = 0; i < ndimsp; i++) {
char * temp_name;
size_t temp_len; …Run Code Online (Sandbox Code Playgroud) 我在Matlab中有一个4维矩阵(time,one_variable,Y_location,X_location).
这是4-d矩阵看起来像:
>> size (npp_data_pft1)
ans =
100 1 289 570
Run Code Online (Sandbox Code Playgroud)
100意味着100次步; 1表示此处仅有1个变量; 289和570是y和x网格单元索引.
如何获得特定区域的平均值?
例如,我喜欢在33 <Y_location <47和112 <X_location <176的区域内获得时间步长1的平均值.
这是我的矩阵:
df <- data.frame(matrix(1:25,5))
X1 X2 X3 X4 X5
1 1 6 11 16 21
2 2 7 12 17 22
3 3 8 13 18 23
4 4 9 14 19 24
5 5 10 15 20 25
Run Code Online (Sandbox Code Playgroud)
我想将rev()应用于#1#3和#5行的某些特定行.这是我想得到的结果:
X1 X2 X3 X4 X5
1 21 16 11 6 1
2 2 7 12 17 22
3 23 18 13 8 3
4 4 9 14 19 24
5 25 20 15 10 5
Run Code Online (Sandbox Code Playgroud)
我知道如何使用rev()到每一行来获得反转系列.例如,rev(df [1,])适用于每一行.请告诉我如何将rev()应用于某些特定行并获得所需的矩阵.
谢谢.
我正在尝试使用ifort评估模型性能,但打印输出没有正确显示.
这是我的代码.请告诉我如何完成这项任务.
! Time the run
call dtime(timearray, telapse)
! End of the simulation
call dtime(timearray, telapse)
call print_runtime(telapse, ctime)
subroutine print_runtime(telapse, ctime)
implicit none
real*4 telapse
character*8 ctime(2)
integer*2 RunDays,
> RunHours,
> RunMins,
> RunSecs
character*40 msgstr, rtfname
parameter (msgstr = ' *** Total run time (wallclock) was ')
parameter (rtfname = 'runtime.txt')
! Now convert telapse from seconds to DD HH:MM:SS
RunDays = INT (telapse / 86400.0)
telapse = telapse - (RunDays * 86400.0)
RunHours = INT …Run Code Online (Sandbox Code Playgroud) 我有一个公式:
800/(0.3*F6)*((20/SQRT(3.14*E6*A6^3))*EXP(-(40-F6*A6)^2/4*F6*A6))
A6 = 1
E6 = 1
F6 = 1
Run Code Online (Sandbox Code Playgroud)
Excel中的答案是4.1592E + 169,但Matlab报告的答案是2.1780e-161.
我在这里想念一下吗?
谢谢.
如何bash使用sftp命令下载文件来编写脚本?我可以使用以下命令登录远程计算机,但是我需要手动输入密码.
bash-3.2$ sftp -o "Port 22022" mike@s-edm-ssh.local.files.stack.com
mike@s-edm-ssh.local.files.stack.com's password:
Connected to s-edm-ssh.local.files.stack.com.
sftp>
Run Code Online (Sandbox Code Playgroud)
如何做sftp没有密码提示?
如果我想将aaa.txt文件下载/remote/mike/files到我的本地目录/local/mike/downloaded,如何构建一个脚本来完成所有这些工作?
我对R中的as.POSIXct感到困惑.
我使用以下代码将列中的值转换为具有日期和时间的列.
fname$DateTime <- as.POSIXct(paste(fname$yy, fname$mm, fname$dd, fname$HH, fname$MM), format = "%y %m %d %H %M")
Run Code Online (Sandbox Code Playgroud)
然后,我设定了绘图的时间限制.
lims <- as.POSIXct(strptime(c("2015-10-23 4:00","2015-10-23 16:00"), format = "%Y-%m-%d %H:%M"))
Temp <- ggplot(DF, aes(x=DateTime, y=Temp)) + geom_line(aes(x=DateTime, y=Temp),colour="blue", alpha = 0.8) + scale_x_datetime(limits =lims, breaks=date_breaks("1 hour"), labels=date_format("%m/%d %H:%M")) + facet_wrap( ~ ID, ncol=4)
Temp + geom_vline(xintercept=as.numeric(as.POSIXct("2015-10-23 10:30")), linetype=4, colour="purple")
Run Code Online (Sandbox Code Playgroud)
时间序列从10月23日08:00开始,而不是10/23 4:00; 结束于10/23 20:00而不是10/23 16:00.垂直线显示在10/23 14:30而不是10/23 10:30.这是一个4小时的时间班!
那是怎么回事?如何在数据框中显示DateTime显示的正确时间序列?请帮我!
谢谢.
weight = [65.35927815614248, 55.78793407606303, 111.63833879205484, 98.63043235014231, 135.42671013218026, 120.99968499739636, 153.07374608221164, 137.72955622024224, 182.20440377291445, 165.5884212527185, 215.3954075146189, 197.69033085244203, 253.36034985426403, 234.87836819253903, 297.02527005128184, 278.279583862876, 348.27438593767295, 330.11235909155596, 429.90523272383, 414.80829759605706, 563.56852141199, 559.9456695948115, 711.6378684503688, 732.2, 800.0, 1000.0]
density = [672.7815124725854, 807.3378149671024, 743.1474574399257, 891.7769489279108, 768.6673224295163, 922.4007869154195, 784.7817876081614, 941.7381451297937, 807.5138421906755, 969.0166106288107, 829.0334064717503, 994.8400877661003, 849.4902749368802, 1019.3883299242561, 869.0066612216123, 1042.8079934659347, 887.9040017426006, 1065.4848020911209, 911.7041287210849, 1094.0449544653018, 939.8582604051843, 1127.829912486221, 961.498943200003, 1153.7987318400037, 1000.0, 1000.0]
Ans = 46.4 * 10. ** (-36.7 * weight / density)
Run Code Online (Sandbox Code Playgroud)
我收到错误消息:类型错误:不能将序列乘以非整数类型的“浮点数”
如何解决这个问题?
谢谢。