拿这个样本变量
df <- data.frame(month=rep(1:3,2),
student=rep(c("Amy", "Bob"), each=3),
A=c(9, 7, 6, 8, 6, 9),
B=c(6, 7, 8, 5, 6, 7))
Run Code Online (Sandbox Code Playgroud)
我可以使用spread从tidyr将其更改为宽格式.
> df[, -4] %>% spread(student, A)
month Amy Bob
1 1 9 8
2 2 7 6
3 3 6 9
Run Code Online (Sandbox Code Playgroud)
但我怎么能传播两个值,例如既A和B,使得输出是一样的东西
month Amy.A Bob.A Amy.B Bob.B
1 1 9 8 6 5
2 2 7 6 7 6
3 3 6 9 8 7
Run Code Online (Sandbox Code Playgroud) 我想根据一个单元格的值在Excel中对整行进行着色.例如,说我有下面的行:
**File No**
1122
1122
1144
1155
1155
1155
1166
Run Code Online (Sandbox Code Playgroud)
我希望前两行(文件#的值是1122)用颜色1加阴影,下一行(文件#的值是1144)用彩色2加阴影,接下来的3行(文件#的值为1155)为阴影颜色1,下一行(文件#的值为1166)为阴影颜色2
我有两个命名的向量
v1 <- 1:4
v2 <- 3:5
names(v1) <- c("a", "b", "c", "d")
names(v2) <- c("c", "e", "d")
Run Code Online (Sandbox Code Playgroud)
我想通过名称添加它们,即预期的结果是
> v3
a b c d e
1 2 6 9 4
Run Code Online (Sandbox Code Playgroud)
有没有办法以编程方式在R中执行此操作?请注意,名称可能不一定按排序顺序排列,v2如上所述.
我想使用在变量中定义的字段来过滤数据帧,以选择也在变量中的值.说我有
df <- data.frame(V=c(6, 1, 5, 3, 2), Unhappy=c("N", "Y", "Y", "Y", "N"))
fld <- "Unhappy"
sval <- "Y"
Run Code Online (Sandbox Code Playgroud)
我想要的价值是df[df$Unhappy == "Y", ].
我已经阅读了nse小插图试图使用,filter_但不太明白.我试过了
df %>% filter_(.dots = ~ fld == sval)
Run Code Online (Sandbox Code Playgroud)
什么也没有回来.我得到了我想要的东西
df %>% filter_(.dots = ~ Unhappy == sval)
Run Code Online (Sandbox Code Playgroud)
但显然这违背了使用变量来存储字段名称的目的.请问有什么线索吗?最终我想使用它在哪里fld是字段名称sval的向量,并且是每个字段的过滤器值的向量fld.
我有一个像这样的嵌套元素
> x <- list(a=list(from="me", id="xyz"), b=list(comment=list(list(message="blabla", id="abc"), list(message="humbug", id="jkl"))), id="123")
> str(x)
List of 3
$ a :List of 2
..$ from: chr "me"
..$ id : chr "xyz"
$ b :List of 1
..$ comment:List of 2
.. ..$ :List of 2
.. .. ..$ message: chr "blabla"
.. .. ..$ id : chr "abc"
.. ..$ :List of 2
.. .. ..$ message: chr "humbug"
.. .. ..$ id : chr "jkl"
$ id: chr "123"
Run Code Online (Sandbox Code Playgroud)
如何 …
我有两个字符串a <- "AERRRTX"; b <- "TRRA".
我想提取a未使用的字符b,即"ERX"
我试图在回答这两个字符串之间不同提取字符,它使用setdiff.它返回"EX",因为b它有"R" setdiff并将消除所有三个"R" a.我的目标是将每个角色视为不同的角色,因此只a应消除三个R中的两个角色.
有关我可以使用什么而不是setdiff其他方法来实现我的输出的任何建议?
我是R的文本处理新手.我正在尝试下面的简单代码
library(RTextTools)
texts <- c("This is the first document.", "This is the second file.", "This is the third text.")
matrix <- create_matrix(texts,ngramLength=3)
这是问题2和3个词使用R TM包的短语中的答案之一
但是,它会产生错误Error in FUN(X[[2L]], ...) : non-character argument.
我删除ngramLength参数时可以生成文档术语矩阵,但我需要搜索某些字长的短语.任何替代或更正的建议?
我有一个appt91.2MB 的数据框,包含29255个51变量的观察.
当我试图检查它的结束时tail(appt),我得到了错误
Error: C stack usage 20212630 is too close to the limit
我不知道如何解决这个问题.关于我能做什么的任何建议?
作为附加信息,我同时在内存中有一些几乎相当大的其他变量,包括一个90.2MB字符向量和一个42.3MB数据帧77405 obs.x 60个变量.调用tail这两个其他变量不会触发任何错误.
编辑:
我已经缩小了只有在访问最后一行时才会发生错误.即appt[29254, ]很好,appt[29255, ]抛出错误.
我正在尝试从我公司的Intranet sharepoint读取数据.
require(httr)
url <- "http://<domain>/<path>/_vti_bin/ListData.svc/<something>"
r <- GET(url)
Run Code Online (Sandbox Code Playgroud)
问题是,访问Sharepoint使用Windows身份验证.以上,预计会给我401 Unauthorized错误.
如何将我的Windows身份验证合并到R中的请求中,而无需在GET参数中以明文形式键入我的凭据?(使用authenticate()我的凭据工作).
我有一个导入的数据框,其列名具有各种标点,包括括号,例如BILLNG.STATUS.(COMPLETED./.INCOMPLTE).
我试图用group_by从dplyr做一些总结,像
df <- df %>% group_by(ORDER.NO, BILLNG.STATUS.(COMPLETED./.INCOMPLTE))
Run Code Online (Sandbox Code Playgroud)
这带来了错误 Error in mutate_impl(.data, dots) :
could not find function "BILLNG.STATUS."
如果没有更改列名,有没有办法直接处理这些列名group_by?