javascript

java

python

c#

android

node.js

reactjs

c++

php

html

jquery

css

.net

ios

git

ruby-on-rails

sql

c

string

ruby

r-通过唯一标识符聚合并将相关值连接到字符串中

这个问题已经在这里有了答案:

  • 折叠/连接/聚集一列为每个组中的单个逗号分隔的字符串                                     3个答案

我需要brandid可以满足我的需求,但我不太清楚。

我有一个名称列表(brand)和随附的ID号(id)。 此数据的格式很长,因此名称可以有多个ID。 我想使用名称(brand)来消除重复,并将多个可能的id连接到一个由注释分隔的字符串中。

例如:

brand            id 
RadioShack       2308
Rag & Bone       4466
Ragu             1830
Ragu             4518
Ralph Lauren     1638
Ralph Lauren     2719
Ralph Lauren     2720
Ralph Lauren     2721
Ralph Lauren     2722 

应该变成:

RadioShack       2308
Rag & Bone       4466
Ragu             1830,4518
Ralph Lauren     1638,2719,2720,2721,2722

我将如何完成?

trans by 2020-01-19T04:25:01Z

r-如何将变量键/值对添加到列表对象?

我有两个变量keyvalue,我想将它们作为键/值对添加到列表中:

key = "width"
value = 32

mylist = list()
mylist$key = value

结果是这样的:

mylist
# $key
# [1] 32

但是我想这样:

mylist
# $width
# [1] 32

我怎样才能做到这一点?

trans by 2020-01-19T03:15:15Z

r-查找矩阵中最大值的行和列索引

这个问题已经在这里有了答案:

  • 获取矩阵最小元素的行和列名称                                     1个答案

我希望找到矩阵的最大元素值及其位置(在矩阵的行ID和列ID中)。

我正在使用以下函数返回矩阵的行和列。

这似乎是一个糟糕的技巧-这是我可能缺少本机方法的一种情况。 有更好/更多的R方式吗?

这是我的功能:

matxMax <- function(mtx)
{
    colmn <- which(mtx == max(mtx)) %/% nrow(mtx) + 1
    row <- which(mtx == max(mtx)) %% nrow(mtx)
    return( matrix(c(row, colmn), 1))
}

我使用如下:

mm <- matrix(rnorm(100), 10, 10)
maxCords <- matxMax(mm)
mm[maxCords]
trans by 2020-01-18T22:32:15Z

r-RStudio Shiny中的绘图比例和大小

相关,但一般只讨论分配的绘图空间,而不是如何直接设置绘图图像大小然后缩放以填充所需空间

  • 闪亮的图表空间分配

我正在创建一个闪亮的Web应用程序,并希望设置绘图的大小和比例。 我的意思是,我正在寻找一种方法来为绘图设置有限的高度/宽度,然后将已设置大小的图像缩放到mainPanel区域。

以此为例/类似于mainPanel的情况。

x <- 1:10
y <- x^2
png("~/Desktop/small.png", width = 600, height = 400)
plot(x, y)
dev.off()

png("~/Desktop/big.png", width = 1200, height = 800)
plot(x, y)
dev.off()

我无法将图像上传到SO并设置大小,因此我将使用以下html包括每个浏览器的屏幕截图:

<img src="file:///home/jwhendy/Desktop/file.png" width = "800px" />

这是我的1600 x 900 px笔记本电脑上的全屏截图。

smaller picture

bigger picture

我想控制图像本身的大小,因为当使用plotOutputui.R之类的选项时,我发现mainPanel图例非常小。 请注意,读取较大尺寸图片的轴标签也很困难。 我意识到我可能会遇到由于像素有限而导致图像尺寸无法很好缩放的情况,但我认为在碰到该图像之前,我至少要有一定的移动空间。

有什么建议么? 到目前为止,我尝试过以下游戏,但没有运气:

用户界面

shinyUI(pageWithSidebar(

headerPanel("Title"),

  sidebarPanel(),

  mainPanel(

     plotOutput(outputId = "main_plot", width = "100%"))

  ))

服务器

shinyServer(function(input, output) {

  x <- 1:10
  y <- x^2

  output$main_plot <- renderPlot({

    plot(x, y) }, height = 400, width = 600 )
} )

似乎mainPanel中指定的高度/宽度选项会覆盖我在ui.RplotOutput部分中设置的内容。

有没有一种方法可以使绘图图像的尺寸较小,以保持可读性,同时仍然填充所需的mainPanel区域?

trans by 2020-01-18T20:55:56Z

r-dplyr更改许多数据类型

更改数据类型,我可以使用类似

l1 <- c("fac1","fac2","fac3")
l2 <- c("dbl1","dbl2","dbl3")
dat[,l1] <- lapply(dat[,l1], factor)
dat[,l2] <- lapply(dat[,l2], as.numeric)

dplyr

dat <- dat %>% mutate(
    fac1 = factor(fac1), fac2 = factor(fac2), fac3 = factor(fac3),
    dbl1 = as.numeric(dbl1), dbl2 = as.numeric(dbl2), dbl3 = as.numeric(dbl3)
)

dplyr中有更优雅(更短)的方法吗?

谢谢克里斯托夫

trans by 2020-01-18T19:15:55Z

r-子集和ggplot2

我在用ggplot2绘制数据帧的子集时遇到问题。 我的df像:

ID Value1 Value2
P1 100 12
P1 120 13
...
P2 300 11
P2 400 16
...
P3 130 15
P3 140 12
...

现在如何只为ID P1和P3绘制Value1 vs Value2?例如,我尝试过:

ggplot(subset(df,ID=="P1 & P3") + geom_line(aes(Value1, Value2, group=ID, colour=ID)))

但我总是收到一个错误。

ps。 我也尝试过与P1和P3进行多种组合,但我总是失败。

trans by 2020-01-18T16:55:31Z

r-访问变量值,其中变量名称存储在字符串中

对于其他语言,也提出了类似的问题:C,sql,java等。

但我正在尝试在R中执行此操作。

我有:

ret_series <- c(1, 2, 3)
x <- "ret_series"

我如何通过在x上调用一些函数/操作而不直接提及ret_series来获得(1, 2, 3)

trans by 2020-01-18T11:57:09Z

如何使用R中的Apply将字符串粘贴到字符串向量的每个元素上?

我有一个字符串向量。

d <- c("Mon","Tues","Wednes","Thurs","Fri","Satur","Sun")

为此,我想以类似于此的方式将字符串“ day”粘贴到向量的每个元素上。

week <- apply(d, "day", paste, sep='')
trans by 2020-01-18T10:43:25Z

r-ggplot2中的数字格式轴标签吗?

我正在使用ggplot2 0.9.1绘制一个相当简单的图表。

x <- rnorm(100, mean=100, sd = 1) * 1000000
y <- rnorm(100, mean=100, sd = 1) * 1000000
df <- data.frame(x,y)

p.new <- ggplot(df,aes(x,y)) +
  geom_point()
print(p.new)

哪个可行,但是ggplot2默认使用不适合我的听众的科学计数法。 如果要输入以下内容来更改x轴标签格式:

p.new + scale_x_continuous(labels = comma)

我得到:

Error in structure(list(call = match.call(), aesthetics = aesthetics,  : 
  object 'comma' not found

我究竟做错了什么? 我注意到,该语言最近从“格式器”更改为“标签”。 也许我误读了手册页?

编辑:我确实是在误读手册页

尝试执行此操作之前,需要先加载library(scales)

trans by 2020-01-18T09:58:22Z

如何在Windows中从R发送带有附件的电子邮件

我安排了从Windows计算机运行的R脚本。

完成后,希望该脚本自动发送带有某些日志文件的电子邮件。

可以将shell()与其他一些脚本一起使用,但是我想知道R中是否有更好的解决方案。谢谢。

trans by 2020-01-18T00:27:08Z

维恩图-比较R中的两个字符向量

我有两个ID的字符向量。

我想比较两个字符向量,特别是对以下附图感兴趣:

  • A和B中都有多少个ID
  • A中有多少个ID,但B中没有多少个
  • B中有多少个ID,但A中没有多少个

我也想画一个维恩图。

trans by 2020-01-17T21:31:20Z

r-使用data.tab汇总多列

我正在尝试使用data.table来加速处理由几个较小的合并data.frames组成的大data.frame(300k x 60)。 我是data.table的新手。 到目前为止的代码如下

library(data.table)
a = data.table(index=1:5,a=rnorm(5,10),b=rnorm(5,10),z=rnorm(5,10))
b = data.table(index=6:10,a=rnorm(5,10),b=rnorm(5,10),c=rnorm(5,10),d=rnorm(5,10))
dt = merge(a,b,by=intersect(names(a),names(b)),all=T)
dt$category = sample(letters[1:3],10,replace=T)

我想知道是否有比以下方式更有效的方式来汇总数据。

summ = dt[i=T,j=list(a=sum(a,na.rm=T),b=sum(b,na.rm=T),c=sum(c,na.rm=T),
                     d=sum(d,na.rm=T),z=sum(z,na.rm=T)),by=category]

我真的不想手动输入所有50列计算,并且eval(paste(...))似乎有点笨拙。

我看了下面的示例,但是对于我的需求来说似乎有点复杂。 谢谢

如何汇总多个列中的data.table

trans by 2020-01-17T15:05:57Z

r-从.5向上舍入

是的,我知道为什么如果我们位于两个数字的正中间(即2.5变成2),为什么总是四舍五入到最接近的偶数。 但是,当我想为某些人评估数据时,他们并不需要这种行为。 什么是最简单的方法来做到这一点:

x <- seq(0.5,9.5,by=1)
round(x)

为1,2,3,...,10,而不是0,2,2,4,4,...,10。

编辑:要澄清:四舍五入后,1.4999应该为1。 (我认为这很明显)

trans by 2020-01-17T10:47:18Z

r-在点周围放置边框

我想使用ggplot2在根据数据填充的散点图上的点周围放置黑色边框。 另外,我想避免在黑色边框上出现图例条目,因为它会出现在每个点上。 基本上,我正在寻找该图,但是每个点周围都有一个黑色边框。

df <- data.frame(id=runif(12), x=1:12, y=runif(12))
ggplot(df, aes(x=x, y=y))+geom_point(aes(colour=id), size=12)

the plot I want, except it doesn't have borders around the points

另外,我不想为黑色边框添加图例。 我最好的尝试是:

df <- data.frame(id=runif(12), x=1:12, y=runif(12))
ggplot(df, aes(x=x, y=y))+geom_point(aes(fill=id, colour="black"), size=12)

这使:

not at all the plot I want

我不明白为什么这不能满足我的需求,更糟糕的是(出于对ggplot2的教育),我不明白为什么它似乎没有将填充色映射到任何东西! 有什么帮助吗?

也许如果我能正确地获得轮廓和填充贴图,那么可以使用像这里最后一组图中的那个一样的技巧来关闭图例。

trans by 2020-01-17T02:01:20Z

R-如何在IF语句中测试字符(0)

我认为这非常简单,但我似乎找不到答案。

我正在编写IF语句,但测试是对象是否返回Test <- character(0)值。 我不确定在声明中如何处理character(0)

假设Test <- character(0)或一个值:

if (identical(Pols4,character(0))) {
  print('Empty')
} else {
  print('Not Empty')
}

它似乎仍然不起作用.....

trans by 2020-01-17T00:14:25Z

r-使用“ dplyr”库中的“选择”功能选择唯一值

是否可以使用dplyr库中的select函数从data.frame的列中选择所有唯一值?类似于SQL表示法中的“ SELECT DISTINCT field1 FROM table1”。

谢谢!

trans by 2020-01-16T20:44:29Z

包含-R-测试字符串1的第一次出现是否跟着字符串2

我有一个R字符串,格式为

s = `"[some letters and numbers]_[a number]_[more numbers, letters, punctuation, etc, anything]"`

我只是想要一种检查43lda821_9_428fj_2f = FALSE是否在第一个位置包含_2的方法。 换句话说,在第一个_符号之后,单个数字是否为“ 2”? 如何在R中执行此操作?

我假设我需要一些复杂的正则表达式?

例子:

39820432_2_349802j_32hfh = TRUE

43lda821_9_428fj_2f = FALSE(注意那里有一个_2,但不在正确的位置)

trans by 2020-01-15T18:30:09Z

在RStudio中自动格式化R代码

RStudio中是否可以自动格式化代码?

我找到了,但是它没有与RStudio连接。

还希望它是可定制的格式。

trans by 2020-01-15T10:17:02Z

r-“ else”中意外的“ else”

我收到此错误:

错误:“其他”中出现意外的“其他”

从此if, else语句中:

if (dsnt<0.05) {
     wilcox.test(distance[result=='nt'],distance[result=='t'],alternative=c("two.sided"),paired=TRUE) }
else {
      if (dst<0.05) {
wilcox.test(distance[result=='nt'],distance[result=='t'],alternative=c("two.sided"),paired=TRUE) }
   else {
         t.test(distance[result=='nt'],distance[result=='t'],alternative=c("two.sided"),paired=TRUE)       } }

这有什么问题?

trans by 2020-01-15T00:10:35Z

r-折叠/连接/聚合一列为每个组中单个逗号分隔的字符串

我想根据两个分组变量在数据框中汇总一列,并用逗号分隔各个值。

这是一些数据:

data <- data.frame(A = c(rep(111, 3), rep(222, 3)), B = rep(1:2, 3), C = c(5:10))
data
#     A B  C
# 1 111 1  5
# 2 111 2  6
# 3 111 1  7
# 4 222 2  8
# 5 222 1  9
# 6 222 2 10    

“ A”和“ B”是分组变量,“ C”是我要折叠成逗号分隔的character字符串的变量。 我试过了:

library(plyr)
ddply(data, .(A,B), summarise, test = list(C))

    A B  test
1 111 1  5, 7
2 111 2     6
3 222 1     9
4 222 2 8, 10

但是当我尝试将测试列转换为character时,它变成这样:

ddply(data, .(A,B), summarise, test = as.character(list(C)))
#     A B     test
# 1 111 1  c(5, 7)
# 2 111 2        6
# 3 222 1        9
# 4 222 2 c(8, 10)

如何保留character格式并以逗号分隔? 例如,第1行应仅为"5,7",而不应为c(5,7)。

trans by 2020-01-14T19:40:47Z

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 下一页 共36页