我有一个包含多个变量(大约50个)的大型数据框,第一列为as date,第二列为id。
我的数据大致如下所示:
df <- data.frame(date = c("01-04-2001 00:00","01-04-2001 00:00","01-04-2001 00:00",
"01-05-2001 00:00","01-05-2001 00:00","01-05-2001 00:00",
"01-06-2001 00:00","01-06-2001 00:00","01-06-2001 00:00",
"01-07-2001 00:00","01-07-2001 00:00","01-07-2001 00:00"),
id = c(1,2,3,1,2,3,1,2,3,1,2,3), a = c(1,2,3,4,5,6,7,8,9,10,11,12),
b = c(2,2.5,3,3.2,4,4.6,5,5.6,8,8.9,10,10.6))
Run Code Online (Sandbox Code Playgroud)
我想要所有三个id的时间序列图分别在同一变量图中a和b在不同图中。
我试过了,ggplot 但是没有用。请帮我
我有一个带ID的记录列表(其中一些是用户名,其中一些是电子邮件地址).我想知道有多少是电子邮件地址.我想一个简单的方法是计算有多少行包含@符号,但是我无法获得一个函数来完成这项工作.任何帮助表示赞赏!
样本数据集:
x <- c("1234@aol.com", "johnnyApple", "tomb@gmail.com")
Run Code Online (Sandbox Code Playgroud) 我觉得这应该很容易,但不知所措,并希望你们都能提供帮助.我有面板数据,通过id变量,这里只是v1:
id v1
A 14
A 15
B 12
B 13
B 14
C 11
C 12
C 13
D 14
Run Code Online (Sandbox Code Playgroud)
我只想创建一个虚拟变量,指示面板中是否存在v1(例如12)的值id.所以类似于:
id v1 v2
A 14 0
A 15 0
B 12 1
B 13 1
B 14 1
C 11 1
C 12 1
C 13 1
D 14 0
Run Code Online (Sandbox Code Playgroud)
我觉得这应该很简单,但无法弄清楚一个简单的一线解决方案.
非常感谢!
在对每个社区的感知问题进行调查后,我得到了这个数据帧.由于调查有不同的选择可供选择+一个开放的选项,因此公开问题的结果往往无关紧要(见下文):
library(dplyr)
library(splitstackshape)
df = read.csv("http://pastebin.com/raw.php?i=tQKHWMvL")
# Splitting multiple answers into different rows.
df = cSplit(df, "Problems", ",", direction = "long")
df = df %>%
group_by(Problems) %>%
summarise(Total = n()) %>%
mutate(freq = Total/sum(Total)*100) %>%
arrange(rank = desc(rank(freq)))
Run Code Online (Sandbox Code Playgroud)
导致此数据框:
> df
Source: local data table [34 x 3]
Problems Total freq
1 Hurtos o robos sin violencia 245 25.6008359
2 Drogas 232 24.2424242
3 Peleas callejeras 162 16.9278997
4 Ningún problema 149 15.5694880
5 Agresiones 66 6.8965517
6 …Run Code Online (Sandbox Code Playgroud) 下面我有一个关于我想要函数做什么的工作示例,然后是函数的脚本,注意错误发生的位置.
错误消息是:
Error: index out of bounds
Run Code Online (Sandbox Code Playgroud)
我所知道的通常意味着R无法找到被调用的变量.
有趣的是,在我下面的函数示例中,如果我只通过my subgroup_name(它传递给函数并成为新创建的数据框中的列),该函数将成功重新组合该变量,但我还想按新创建的列进行分组(来自融化)称为变量.
类似的代码用于我使用regroup(),但已被弃用.我试图使用group_by_()但无济于事.
我已阅读了许多其他帖子和答案,并在今天进行了几个小时的实验,但仍未成功.
# Initialize example dataset
database <- ggplot2::diamonds
database$diamond <- row.names(diamonds) # needed for melting
subgroup_name <- "cut" # can replace with "color" or "clarity"
subgroup_column <- 2 # can replace with 3 for color, 4 for clarity
# This works, although it would be preferable not to need separate variables for subgroup_name and subgroup_column number
df <- database %>%
select(diamond, subgroup_column, x,y,z) %>% …Run Code Online (Sandbox Code Playgroud) 我有一个字符串数据框,其中大部分都是重复的.我想确定此数据框中至少出现x次的值.
df <- data.frame(x = c("str", "str", "str", "ing", "ing","."))
occurs <- 3
Run Code Online (Sandbox Code Playgroud)
数据框包含数百个独特的字符串,以及数万个元素.在这个例子中,我如何识别哪些字符串至少发生了三次?具体来说,我想输出符合此标准的字符串的名称,而不是数据框中的索引.
我想根据名称选择的相似程度创建一个组变量。我已经开始使用 stringdist 包来生成距离的度量。但我不确定如何使用该输出信息来生成一组变量。我看过 hclust 但似乎使用聚类函数你需要知道你最终需要多少组,我不知道。我开始的代码如下:
name_list <- c("Mary", "Mery", "Mary", "Joe", "Jo", "Joey", "Bob", "Beb", "Paul")
name_dist <- stringdistmatrix(name_list)
name_dist
name_dist2 <- stringdistmatrix(name_list, method="soundex")
name_dist2
Run Code Online (Sandbox Code Playgroud)
我想看到一个包含两列的数据框,看起来像
name = c("Mary", "Mery", "Mary", "Joe", "Jo", "Joey", "Bob", "Beb", "Paul")
name_group = c(1, 1, 1, 2, 2, 2, 3, 3, 4)
Run Code Online (Sandbox Code Playgroud)
显然,根据我使用的距离测量方式,这些组可能略有不同(我在上面建议了两个),但我可能会选择一个或另一个来跑步。
基本上,如何在不知道我想要的集群数量的情况下从距离矩阵到组变量?