我喜欢R中的data.table包,我认为它可以帮助我执行复杂的交叉制表任务,但是还没有弄清楚如何使用包执行类似的任务table.
这是一些复制调查数据:
opinion <- c("gov", "market", "gov", "gov")
ID <- c("resp1", "resp2", "resp3", "resp4")
party <- c("GOP", "GOP", "democrat", "GOP")
df <- data.frame(ID, opinion, party)
Run Code Online (Sandbox Code Playgroud)
在表格中,通过聚会计算意见的数量非常简单 table(df$opinion, df$party).
我已经设法在data.table中做了类似的事情,但结果很笨重,它增加了一个单独的列.
dt <- data.table(df)
dt[, .N, by="party"]
Run Code Online (Sandbox Code Playgroud)
data.table中有许多分组操作,对于调查数据的快速和复杂的交叉表非常有用,但我还没有找到任何有关如何使用它的教程.谢谢你的帮助.
是否可以通过 API 访问 Gmail 贪睡的日期?我在 stackoverflow 中遇到了一个黑客,它允许用户通过秘密标签搜索“label:snoozed”来搜索哪些电子邮件被暂停,但标签通常没有关联的日期,尤其是将来会返回收件箱的日期。
我正在尝试创建一个网络例程,将待办事项列表与电子邮件同步,并希望截止日期自动更新,何时重新出现被暂停的电子邮件。
谷歌提供的任何 API 或开发人员资源都可以做到这一点吗?
我想知道如何以与excel在"text-to-column"功能中类似的方式拆分列.stackexchange上有很多关于如何按字符分割列的教程,但它们没有解决我需要的3件事:
1).使用列,其中只有一些行具有字符2).使用包含许多列的数据框3).将列视为字符/因子
例如,我有一个数据帧
df <- data.frame(V1 = c("01, 02", "04", "05, 06", "07, 08", "09", "10"),
V2 = c("11, 12", "14", "13, 14", 11, 14", "13", "15")
Run Code Online (Sandbox Code Playgroud)
如果我在excel中使用V1中的文本到列,我最终会在逗号上分割3列.将仅为那些在其中包含逗号的单元格创建第二列.对于没有列的行,会有空白单元格.我也可以选择将新列视为数字或文本.在这种情况下,我需要前导零,所以它应该被视为文本.
它看起来像这样
V1 V2 V3
Row 1 01 02 11,12
Row 2 04 NA 14
Run Code Online (Sandbox Code Playgroud)
我如何在R中做类似的事情,记住我拥有的数据集有很多列,因此重命名代码中的每一列是不实际的.
我希望这很清楚.感谢您的帮助!
我试图绘制观察频率随时间变化的情况.我有一个数据集,其中数百个法则编码为0-3.我想知道结果2-3是否随着时间的推移更频繁地发生.以下是模拟数据的示例:
Data <- data.frame(
year = sample(1998:2004, 200, replace = TRUE),
score = sample(1:4, 200, replace = TRUE)
)
Run Code Online (Sandbox Code Playgroud)
如果我情节
plot(Data$year, Data$score)
Run Code Online (Sandbox Code Playgroud)
我得到一个格子矩阵,每个点填充,但我不知道哪些数字更频繁出现.有没有办法根据给定行/年的观察数量来着色或改变每个点的大小?
一些注释可能有助于回答这个问题:
1).我不知道如何对某些数字出现频率高于其他数字的数据进行抽样.我的样本程序从所有数字中均等地采样.如果有更好的方法我应该创建可重现的数据以反映后来的更多观察结果,我想知道如何.
2).这似乎最好是在散点图中可视化,但我可能是错的.我对其他可视化开放.
谢谢!
将ggplot样式保存到R中的对象的最佳方法是什么?我知道ggplot有自定义主题,但是有很多视觉设计不适合主题功能.
这是一些样本(融化)数据和我一直在研究的图表
library(ggplot2)
mdf <- structure(list(group = structure(c(2L, 3L, 1L, 2L, 3L, 1L), .Label = c("democrat",
"founder", "libertarian"), class = "factor"), variable = structure(c(1L,
1L, 1L, 2L, 2L, 2L), .Label = c("similar", "compete"), class = "factor"),
value = c(0.7, 0.2, 0.4, 0.3, 0.8, 0.6)), row.names = c(NA,
-6L), .Names = c("group", "variable", "value"), class = "data.frame")
ggplot(mdf, aes (x=group, y=value, fill = variable)) +
geom_bar(stat="identity", position="dodge", alpha = 0.8) +
geom_bar(stat="identity", position="dodge", color = "#A9A9A9", alpha = 0.8) +
scale_fill_manual(values=c("#05f2ae", …Run Code Online (Sandbox Code Playgroud) 我想知道如何合并数据框中的重复行,然后将重复的值合并到另一列中.
以下是现有数据框和两个可作为解决方案可接受的数据框的示例
df1 <- data.frame(col1 = c("test1", "test2", "test2", "test3"), col2 = c(1, 2, 3, 4))
df.ideal <- data.frame(col1 = c("test1", "test2", "test3"), col2 = c(1, "2, 3", 4))
df.ideal2 <- data.frame(col1 = c("test1", "test2", "test3"),
col2 = c(1, 2, 4),
col3 = c(NA, 3, NA))
Run Code Online (Sandbox Code Playgroud)
在第一个理想的数据框中,复制的行将折叠,并且该列将添加两个数字.我已经查看了有关堆栈溢出的其他类似问题,但它们都处理了组合行.我需要删除重复的行,因为我有另一个数据集我正在合并它需要一定数量的行.所以,我想保留所有的价值观.谢谢你的帮助!
我正在寻找一种方法来使用R中的find和replace函数来替换字符串的整个值,而不仅仅是字符串的匹配部分.我有一个包含很多(非常)长名称的数据集,我正在寻找一种有效的方法来查找和更改它们的值.
所以,例如,我试图改变整个字符串
string <- "Generally.speaking..do.you.prefer.to.try.out.new.experiences.like.trying.things.and.meeting.new.people..or.do.you.prefer.familiar.situations.and.faces."
Run Code Online (Sandbox Code Playgroud)
至
"exp"
Run Code Online (Sandbox Code Playgroud)
用这个代码
string <- gsub("experiences", "exp", string)
Run Code Online (Sandbox Code Playgroud)
但是,这会导致将"exp"替换为仅匹配"experience"的字符串部分,并使长名称的其余部分保持原样(为清晰起见加粗):
"Generally.speaking..do.you.prefer.to.try.out.new.EXP ..like.trying.things.and.meeting.new.people..or.do.you.prefer.familiar.situations. and.faces".
在这种情况下,因为字符串包含"经验",所以应该用"exp"替换.
有没有办法告诉gsub或其他一些函数来替换整个值?我看了很多教程,看起来函数只能在一个字符串或整个值中运行,但不是在两者之间运行.