小编Lam*_*mbo的帖子

在R中的spread()函数中使用put两个值列

我刚刚发布了一个问题,询问如何将数据从长表重新整形为宽表.然后我发现这spread()是一个非常方便的功能.所以现在我需要在我之前的帖子上进一步开发.

我们假设我们有一个这样的表:

id1   |  id2 |  info  | action_time | action_comment  |
 1    | a    |  info1 |    time1    |        comment1 |
 1    | a    |  info1 |    time2    |        comment2 |
 1    | a    |  info1 |    time3    |        comment3 |
 2    | b    |  info2 |    time4    |        comment4 |
 2    | b    |  info2 |    time5    |        comment5 |
Run Code Online (Sandbox Code Playgroud)

我想把它改成这样的东西:

id1   |  id2 |  info  |action_time 1|action_comment1 |action_time 2|action_comment2 |action_time 3|action_comment3  |
 1 …
Run Code Online (Sandbox Code Playgroud)

r reshape2 tidyr

6
推荐指数
2
解决办法
849
查看次数

我在 r 中使用 xml 时发现此错误消息

嗨,我正在 Rstudio 中使用 xml。目标是将 xml 转换为 r 数据框,我正在尝试包文件夹中名为tides.xml 的示例数据。

tides = system.file("exampleData", "tides.xml", package = "XML")
Run Code Online (Sandbox Code Playgroud)

也许我们可以看到前几列中的项目是恒定的:

像这样的东西

                       origin
                   NOAA/NOS/CO-OPS
                   NOAA/NOS/CO-OPS
                   NOAA/NOS/CO-OPS
                   NOAA/NOS/CO-OPS
                   NOAA/NOS/CO-OPS
                   NOAA/NOS/CO-OPS
                   NOAA/NOS/CO-OPS
Run Code Online (Sandbox Code Playgroud)

因此当我使用

xmlToDataFrame(xmlRoot(tides.str))
Run Code Online (Sandbox Code Playgroud)

它返回错误:

Error in `[<-.data.frame`(`*tmp*`, i, names(nodes[[i]]), value = c("2010/11/13Sat06:08    AM4.74H",  : 
duplicate subscripts for columns
Run Code Online (Sandbox Code Playgroud)

我知道我可以做这样的事情:

xmlToDataFrame(nodes = xmlChildren(xmlRoot(tides.str)[["data"]]))
Run Code Online (Sandbox Code Playgroud)

生成数据框,但它只是一个子集,我需要手动插入前几列。

所以我在想有什么办法可以通过更改 xmlToDataFrame() 函数中的一些参数并使用整个 xml 数据来消除错误?

提前致谢。

xml r

5
推荐指数
1
解决办法
7295
查看次数

如何使用闪亮的条件面板

嗨,目前我有一个像这样的样本数据集

 df<- data.frame(site = c('A1', 'A1', 'A1', 'B1', 'B1','B1','B1','C1','C1'), 
                 part = c('a1', 'a1', 'a2', 'b1', 'b1', 'b2','b3','c1','c2'),
                 value = c(2,3,4,5,6,7,8,9,10))

> df
site part value
  A1   a1     2
  A1   a1     3
  A1   a2     4
  B1   b1     5
  B1   b1     6
  B1   b2     7
  B1   b3     8
  C1   c1     9
  C1   c2    10
Run Code Online (Sandbox Code Playgroud)

我想在两个选择框的闪亮用户界面中放置一个侧栏.一个是"选择"网站,另一个是"部分".

shinyUI(

fluidPage(    

titlePanel("Choose Site, part"),

sidebarLayout(      


  sidebarPanel(
    selectInput("select_site", label = "Select Site", 
                choices = unique(df$site), 
                selected = unique(df$site)[1]),

      selectInput("select_part", label = "Select Part", 
                  choices = unique(df$part), 
                  selected …
Run Code Online (Sandbox Code Playgroud)

r shiny

5
推荐指数
1
解决办法
8191
查看次数

使用data.table根据另一列中的类别计算出现的百分比

最近我在R中使用data.table,它非常受欢迎和高效.目前我遇到了一个我认为可以使用data.table解决的问题.

我有这样的数据集:

event | group_ind 
  1   | group1
  1   | group1
  1   | group1
  2   | group1
  2   | group1
  1   | group2
  1   | group2
  2   | group2
  2   | group3
  2   | group3
Run Code Online (Sandbox Code Playgroud)

现在我想知道每个组中事件1的百分比.该数据集的结果是显而易见的:第1组中的事件1为60%,第2组为67%,第3组为0.实际上,数据集具有超过2种事件类型的更多观察值,并且行不按特定顺序排序.我可以在R中以非常虚拟的方式得到我想要的东西(通过计算事件列中的出现次数除以每组中的总观察值),但我认为应该有更好的方式来做到这一点.

所以我想要的结果是这样的:

 event | group_ind | percentage
   1   | group1    | 0.6
   2   | group1    | 0.4
   1   | group2    | 0.67
   2   | group2    | 0.33
   1   | group3    | 0
   2   | group3    | 100
Run Code Online (Sandbox Code Playgroud)

我希望这可以在data.table中完成.非常感谢您的帮助.

r data.table

5
推荐指数
1
解决办法
3501
查看次数

正则表达式在R中查找具有特定模式的字符串

我在这里有一些字符串,它们是:

12ABC3, 2ABC45, ABC 56, uhyABC, REGEXP ...
Run Code Online (Sandbox Code Playgroud)

目标是只要字符串中有'ABC'(不是'BCA'或'BAC'),当使用'grepl'时它应该返回TRUE

所以输出应该是

TRUE, TRUE, TRUE, TRUE, FALSE
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我吗?

提前致谢

regex r

4
推荐指数
1
解决办法
794
查看次数

如何在 SUMIF 中使用不连续范围

我正在学习在 Excel 中使用 SUMIF。通常在这个公式的第一个参数中是一个连续的范围(类似于 A1:F1)。但现在我真的需要选择这样的东西:A1、C1、E1 由于数据集格式。我可以在 Excel 中做这样的事情吗?甚至 VBA。我也尝试使用 INDIRECT 但它只允许我填写一行。如果我进行自动填充,行号不会改变。这是我使用的公式:

   SUM((SUMIF(INDIRECT({"A1","C1","E1","G1","I1","K1","M1","O1","Q1","S1"}),"<"&V1,INDIRECT({"B1","D1","F1","H1","J1","L1","N1","P1","R1","T1"}))))
Run Code Online (Sandbox Code Playgroud)

任何人都知道如何为整个专栏做到这一点?提前致谢!!!

excel vba

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

如何使用R中的d3Network可视化图形

我正在尝试在R中使用一个名为d3Network的包来可视化某些网络,我在R中使用了这个例子:

# Load data
data(MisLinks)
data(MisNodes)

# Create graph
d3ForceNetwork(Links = MisLinks, Nodes = MisNodes, Source = "source",
               Target = "target", Value = "value", NodeID = "name",
               Group = "group", opacity = 0.4)
Run Code Online (Sandbox Code Playgroud)

它只给了我一堆脚本而不是一个情节.我在互联网上看到了这个例子,似乎其他人从未遇到过这种问题.我做错了什么或遗漏了什么?而且我想知道如何指定Source节点和Target节点的颜色.

提前致谢

r rstudio d3.js sna networkd3

3
推荐指数
1
解决办法
708
查看次数

标签 统计

r ×6

d3.js ×1

data.table ×1

excel ×1

networkd3 ×1

regex ×1

reshape2 ×1

rstudio ×1

shiny ×1

sna ×1

tidyr ×1

vba ×1

xml ×1