Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
绘制R中1个观测值的83个变量_R_Subset - Fatal编程技术网

绘制R中1个观测值的83个变量

绘制R中1个观测值的83个变量,r,subset,R,Subset,我有一个包含131个观察值的数据框架,每个数据框架包含83个变量(不同年份有不同犯罪记录的村庄——暴力、偷车等)。我需要选择一个观察(一个村庄)和针对不同年份的特定变量(例如暴力犯罪计数) 我已通过以下方式对该村庄进行了分组: my_data<- data[which(data$WardName =='village_name'), ] my_data我会首先将数据重新格式化为长格式,即为村庄,犯罪,年份,和计数列。然后,您可以很容易地根据这些变量对数据进行子集划分 对于包restra

我有一个包含131个观察值的数据框架,每个数据框架包含83个变量(不同年份有不同犯罪记录的村庄——暴力、偷车等)。我需要选择一个观察(一个村庄)和针对不同年份的特定变量(例如暴力犯罪计数)

我已通过以下方式对该村庄进行了分组:

my_data<-  data[which(data$WardName =='village_name'), ]

my_data我会首先将数据重新格式化为长格式,即为
村庄
犯罪
年份
,和
计数
列。然后,您可以很容易地根据这些变量对数据进行子集划分

对于包
restrape2
tidyr
,这种类型的整形操作非常简单

这里有一个例子

首先,我们创建一些(我认为)与您的数据格式匹配的假数据:

d <- data.frame(Village=LETTERS[1:5],
                Vehicle.Crime.Count.2008.2009=rpois(5, 20), 
                Vehicle.Crime.Count.2009.2010=rpois(5, 20),
                Vehicle.Crime.Count.2010.2011=rpois(5, 20),
                Vehicle.Crime.Count.2011.2012=rpois(5, 20),
                Violent.Crime.Count.2008.2009=rpois(5, 20),
                Violent.Crime.Count.2009.2010=rpois(5, 20),
                Violent.Crime.Count.2010.2011=rpois(5, 20),
                Violent.Crime.Count.2011.2012=rpois(5, 20))
将数据重塑为长格式:

d_long <- gather(d, key=Crime, value=Count, -Village) %>%
  separate(Crime, c('Crime', 'Year'), '\\.Count\\.') %>%
  mutate(Crime=factor(gsub('\\.', ' ', Crime)), 
         Year=factor(sub('\\.', '-', Year)))
我们现在可以将这些数据过滤到感兴趣的子集,并绘制它们:

filter(d_long, 
       Crime=='Vehicle Crime', Year %in% c('2008-2009', '2009-2010', '2010-2011')) %>%
  ggplot(aes(x=Year, Count, group=Village, color=Village)) +
    geom_line() +
    theme_bw()

我会首先将数据重新格式化为长格式,即为
村庄
犯罪
年份
计数
列。然后,您可以很容易地根据这些变量对数据进行子集划分

对于包
restrape2
tidyr
,这种类型的整形操作非常简单

这里有一个例子

首先,我们创建一些(我认为)与您的数据格式匹配的假数据:

d <- data.frame(Village=LETTERS[1:5],
                Vehicle.Crime.Count.2008.2009=rpois(5, 20), 
                Vehicle.Crime.Count.2009.2010=rpois(5, 20),
                Vehicle.Crime.Count.2010.2011=rpois(5, 20),
                Vehicle.Crime.Count.2011.2012=rpois(5, 20),
                Violent.Crime.Count.2008.2009=rpois(5, 20),
                Violent.Crime.Count.2009.2010=rpois(5, 20),
                Violent.Crime.Count.2010.2011=rpois(5, 20),
                Violent.Crime.Count.2011.2012=rpois(5, 20))
将数据重塑为长格式:

d_long <- gather(d, key=Crime, value=Count, -Village) %>%
  separate(Crime, c('Crime', 'Year'), '\\.Count\\.') %>%
  mutate(Crime=factor(gsub('\\.', ' ', Crime)), 
         Year=factor(sub('\\.', '-', Year)))
我们现在可以将这些数据过滤到感兴趣的子集,并绘制它们:

filter(d_long, 
       Crime=='Vehicle Crime', Year %in% c('2008-2009', '2009-2010', '2010-2011')) %>%
  ggplot(aes(x=Year, Count, group=Village, color=Village)) +
    geom_line() +
    theme_bw()

谢谢,我要试一试。我应该重塑整个数据集(包括我不感兴趣的所有村庄)还是只重塑我想要的一个村庄?谢谢,我要试一试。我应该重塑整个数据集(包括我不感兴趣的所有村庄)还是只重塑我想要的一个村庄?