我想获取数据框中城市的经度/纬度数据,并在我的框架中添加2列.我是R的新手,我不知道该怎么做.有人可以帮我这个
我的框架:
> data <- read.xlsx("example_city.xlsx", 1)
> data
City Country
1 Stockholm Sweden
2 Oslo Norway
3 Rome Italy
4 Rome Italy
5 Stockholm Sweden
6 Stockholm Sweden
7 Paris France
8 Paris France
9 Hamburg Germany
10 Paris France
11 Paris France
Run Code Online (Sandbox Code Playgroud) 这是一个例子:
set.seed(123)
data<-data.frame(X=rep(letters[1:3], each=4),Y=sample(1:12,12),Z=sample(1:100, 12))
data[data==3]<-NA
Run Code Online (Sandbox Code Playgroud)
我要意识到的是通过忽略s 来选择X最小的唯一行:YNA
a 4 68
b 1 4
c 2 64
Run Code Online (Sandbox Code Playgroud)
最好的方法是什么?
我有以下数据框:
> head(my[,1:2])
Time TD_Wait
96 18:24:45.776 12442
97 18:24:53.798 26799
1944 19:10:32.963 14423
1945 19:10:34.709 13592
1946 19:10:38.056 13457
1947 19:10:38.281 14063
> str(my)
'data.frame': 25007 obs. of 2 variables:
$ Time : Factor w/ 253251 levels "00:00:00.586",..: 27991 28001 33296 33306 33319 33320 33341 33363 33383 33392 ...
$ TD_Wait: int 12442 26799 14423 13592 13457 14063 11717 10026 10590 19372 ...
Run Code Online (Sandbox Code Playgroud)
我尝试时无法格式化X轴上的时间标签
ggplot(data=my, aes(x=my$Time,y=TD_Wait/1000)) + geom_point()
Run Code Online (Sandbox Code Playgroud)
因为所有时间都相互重叠.我很困惑如何处理这个问题.我尝试改变时间因素但却无处可去.
有没有办法在24小时内每小时清楚地显示X轴上的时间标签?
我真的是Rstudio的新手,所以我希望有人能帮助我。所以我有这段代码:
x = 1:5
alpha = 1
beta = 1.5
betaD = 0.1
s = 1
sa = 0.2
sb = 0.2
N = 10
grp = factor(rep(c("Control", "Treatment"), c(N,N)))
for(i in 1:(2*N)) {
ai = rnorm(1, 0, sa)
bi = rnorm(1, 0, sb)
intercept = alpha+ai
slope = beta + bi + ifelse(grp[i]=="Treatment", betaD, 0.0)
y = intercept+ slope*x + rnorm(length(x), 0, s)
tmp = data.frame(subject=i, x=x, y=y, a=ai, b=bi, group=grp[i])
if(i==1) dataset = tmp
else dataset = rbind(dataset, …Run Code Online (Sandbox Code Playgroud) 我有不同长度的矢量.例如:
df1
[1] 1 95 5 2 135 4 3 135 4 4 135 4 5 135 4 6 135 4
df2
[1] 1 70 3 2 110 4 3 112 4
Run Code Online (Sandbox Code Playgroud)
我正在尝试在R中编写一个脚本,以便让任何向量进入函数或for循环,它返回一个三列的数据帧.因此,每个输入向量的单独数据帧.每个向量是三的倍数(因此,三列).在编写函数方面我对R很新,似乎无法解决这个问题.这是我的尝试:
newdf = c()
ld <- length(df1)
ld_mult <- length(df1)/3
ld_seq <- seq(from=1,to=ld,by=3)
ld_seq2 < ld_seq +2
for (i in 1:ld_mult) {
newdf[i,] <- df1[ld_seq[i]:ld_seq2[i]]
}
Run Code Online (Sandbox Code Playgroud)
我想要的输出df1将是:
1 95 5
2 135 4
3 135 4
4 135 4
5 135 4
6 135 4
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用rMarkdown中的相同模板生成大约50个报告。我不想每次都更改输入文件的名称,并且想为输出文件选择不同的名称。
有什么办法可以自动执行此过程?
谢谢。
是否可以仅针对特定输出呈现Rmarkdown文档的一部分?
例如,我想使用相同的分析来编写报告和演示文稿.
我希望能够将文档的某些部分仅在输出时呈现html_document,而不是在输出时呈现slidy_presentation; 我并不一定意味着一大堆代码,而是文本.
> Error in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()),\n> versionCheck = vI[[j]]) : namespace \xe2\x80\x98pbkrtest\xe2\x80\x99 0.4-2 is being\n> loaded, but >= 0.4.4 is required \n> Error: package or namespace load\n> failed for \xe2\x80\x98caret\xe2\x80\x99\nRun Code Online (Sandbox Code Playgroud)\n\nCaret 工作得很好,直到我尝试加载 Rcpp,它把一切搞乱了。
\n\n我在答案中搜索了插入符号的类似问题,但发布的解决方案似乎不适用于我的。我跟着:
\n\ninstall.packages("caret", dependencies = TRUE) \nRun Code Online (Sandbox Code Playgroud)\n\n但这没有用。
\n我想分裂一个专栏.我的数据框(menuD)就像
Column1
1|3|4|5
4|5|6|7
Run Code Online (Sandbox Code Playgroud)
我想在column1中拆分数字,所以我这样做了.
menuD <- data.frame (do.call('rbind', strsplit(as.character(myCmenu$myFile.menudata), '|', fixed = TRUE)))
Run Code Online (Sandbox Code Playgroud)
我得到了这样的预期结果
col1 | col2 | col3 | col4
1 | 3 | 4 | 5
4 | 5 | 6 | 7
Run Code Online (Sandbox Code Playgroud)
但我收到了来自R的警告信息
> Warning message:
In rbind(c("", "164200", "", "167", "108", "112", "116", "120"), :
number of columns of result is not a multiple of vector length (arg 1)
Run Code Online (Sandbox Code Playgroud)
我想知道,这对我的数据有影响吗?所有数据是否正确分开?
Plotly具有同时显示多行的悬停文本的功能.例如:
dt <- data.table(x = 1:10, y = rnorm(10), z = rnorm(10)+2)
plot_ly(type = "scatter", mode = "lines") %>%
add_trace(x = dt$x, y = dt$y, name = "curve 1", mode = "lines") %>%
add_trace(y = dt$z, name = "curve 2", mode = "lines")
Run Code Online (Sandbox Code Playgroud)
但是,如果它们的模式不同,则不会对悬停文本进行分组.例如:
dt <- data.table(x = 1:10, y = rnorm(10), z = rnorm(10)+2)
plot_ly(type = "scatter", mode = "lines") %>%
add_trace(x = dt$x, y = dt$y, name = "curve 1", mode = "lines+markers") %>%
add_trace(y = dt$z, name …Run Code Online (Sandbox Code Playgroud)