小编Jaa*_*aap的帖子

合并多个data.tables

我知道一个可以合并(加入)两大data.table争夺的merge功能或[.data.table功能.但是,如果我说10,data.tables并且想要do.call将它们全部合并在一起,是否有一个功能可以做到这一点?目前我do.call(cbind, ...)只使用非常特殊的情况.

merge join r data.table

37
推荐指数
3
解决办法
2万
查看次数

将多组测量列(宽格式)整形为单列(长格式)

我有一个宽格式的数据帧,在不同的日期范围内重复测量.在我的例子中,有三个不同的时期,都有相应的值.例如,第一测量(Value1)是在测量期间从DateRange1StartDateRange1End:

ID DateRange1Start DateRange1End Value1 DateRange2Start DateRange2End Value2 DateRange3Start DateRange3End Value3
1 1/1/90 3/1/90 4.4 4/5/91 6/7/91 6.2 5/5/95 6/6/96 3.3 
Run Code Online (Sandbox Code Playgroud)

我希望将数据重新整形为长格式,以便将DateRangeXStart和DateRangeXEnd列分组.因此,原始表中的1行在新表中变为3行:

ID DateRangeStart DateRangeEnd Value
1 1/1/90 3/1/90 4.4
1 4/5/91 6/7/91 6.2
1 5/5/95 6/6/96 3.3
Run Code Online (Sandbox Code Playgroud)

我知道必须有一种方法可以用reshape2/ melt/ recast/ 来做到这一点tidyr,但我似乎无法弄清楚如何以这种特殊方式将多组度量变量映射到单个值列集.

r reshape r-faq reshape2 tidyr

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

将数据导出到Excel

我正在编写代码将数据库从R导出到Excel,我一直在尝试其他代码,包括:

write.table(ALBERTA1, "D:/ALBERTA1.txt", sep="\t")
write.csv(ALBERTA1,":\ALBERTA1.csv")
your_filename_in_R = read.csv("ALBERTA1.csv")
your_filename_in_R = read.csv("ALBERTA1.csv")
write.csv(df, file = "ALBERTA1.csv")
your_filename_in_R = read.csv("ALBERTA1.csv")
write.csv(ALBERTA1, "ALBERTA1.csv")
write.table(ALBERTA1, 'clipboard', sep='\t')
write.table(ALBERTA1,"ALBERTA1.txt")
write.table(as.matrix(ALBERTA2),"ALBERTA2.txt")
write.table(as.matrix(vecm.pred$fcst$Alberta_Females[,1]), "vecm.pred$fcst$Alberta_Females[,1].txt")
write.table(as.matrix(foo),"foo.txt")
write.xlsx(ALBERTA2, "/ALBERTA2.xlsx")
write.table(ALBERTA1, "D:/ALBERTA1.txt", sep="\t").
Run Code Online (Sandbox Code Playgroud)

此论坛的其他用户建议我这样:

write.csv2(ALBERTA1, "ALBERTA1.csv")
write.table(kt, "D:/kt.txt", sep="\t", row.names=FALSE)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

你可以在图片上看到我从上面的代码得到的结果.但是这些数字不能用于进行任何进一步的操作,例如与其他矩阵一起添加.

有人遇到过这种问题吗?

excel r r-faq

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

使用group_by查找子组中的百分比并进行汇总

我是dplyr的新手并试图在没有运气的情况下进行以下转换.我在互联网上搜索过,我发现在ddply中做同样的例子,但我想使用dplyr.

我有以下数据:

   month   type  count
1  Feb-14  bbb   341
2  Feb-14  ccc   527
3  Feb-14  aaa  2674
4  Mar-14  bbb   811
5  Mar-14  ccc  1045
6  Mar-14  aaa  4417
7  Apr-14  bbb  1178
8  Apr-14  ccc  1192
9  Apr-14  aaa  4793
10 May-14  bbb   916
..    ...  ...   ...
Run Code Online (Sandbox Code Playgroud)

我想使用dplyr来计算每个类型(aaa,bbb,ccc)在一个月级别的百分比,即

   month   type  count  per
1  Feb-14  bbb   341    9.6%
2  Feb-14  ccc   527    14.87%
3  Feb-14  aaa  2674    ..
..    ...  ...   ...
Run Code Online (Sandbox Code Playgroud)

我试过了

data %>%
  group_by(month, type) %>%
  summarise(count …
Run Code Online (Sandbox Code Playgroud)

group-by r dplyr

36
推荐指数
3
解决办法
3万
查看次数

如何使用相同名称的字符变量调用对象

我正在尝试在R中编写一个函数,以类似的方式批量分析大量文件.这些文件属于类ExpressionSetIllumina.我可以创建一个字符(字符串)向量,其中包含目录中所有文件的名称,并加载每个文件:

list = list.files()
for (i in list[1]) {    
  load(i)
}
Run Code Online (Sandbox Code Playgroud)

这会正确加载文件

> ls()
[1] "i"                    "list"                 "SSD.BA.vsn"
> class(SSD.BA.vsn)
[1] "ExpressionSetIllumina"
attr(,"package")
[1] "beadarray"
Run Code Online (Sandbox Code Playgroud)

我现在要做的是使用i(字符串"SSD.BA.vsn")将对象分配SSD.BA.vsn给新的对象数据,以便:

>data = SomeFunction(i)
>class(data)
[1] "ExpressionSetIllumina"
attr(,"package")
[1] "beadarray"
Run Code Online (Sandbox Code Playgroud)

但是到目前为止我所尝试的只是将数据作为与i相同值的字符向量返回,或者根本不起作用.所以我想知道是否有一个功能可以为我做,或者我是否需要以其他方式去做.

我将一个对象或变量的名称存储为字符向量中的字符串.如何使用字符串对象名称对对象执行某些操作?

r r-faq

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

as.data.frame(x)和data.frame(x)之间的区别

as.data.frame(x)和data.frame(x)之间有什么区别

在以下示例中,除列名称外,结果相同.

x <- matrix(data=rep(1,9),nrow=3,ncol=3)
> x
     [,1] [,2] [,3]
[1,]    1    1    1
[2,]    1    1    1
[3,]    1    1    1
> data.frame(x)
  X1 X2 X3
1  1  1  1
2  1  1  1
3  1  1  1
> as.data.frame(x)
  V1 V2 V3
1  1  1  1
2  1  1  1
3  1  1  1
Run Code Online (Sandbox Code Playgroud)

r dataframe

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

纬度/经度点(坐标)的2个列表之间的地理/地理空间距离

我有2个列表(list1,list2),其中包含各种位置的纬度/经度.一个list(list2)具有没有的位置名称list1.

我想要list1中每个点的近似位置.所以我想指出一点list1,试着寻找最近的点,list2然后选择那个地方.我重申每一点list1.它还需要距离(以米为单位)和点的索引(in list1),因此我可以围绕它构建一些业务规则 - 基本上这些是应该添加到list1(near_dist,indx)的2个新cols .

我正在使用该gdist功能,但我无法使用它来处理数据帧输入.

示例输入列表:

list1 <- data.frame(longitude = c(80.15998, 72.89125, 77.65032, 77.60599, 
                                  72.88120, 76.65460, 72.88232, 77.49186, 
                                  72.82228, 72.88871), 
                    latitude = c(12.90524, 19.08120, 12.97238, 12.90927, 
                                 19.08225, 12.81447, 19.08241, 13.00984,
                                 18.99347, 19.07990))
list2 <- data.frame(longitude = c(72.89537, 77.65094, 73.95325, 72.96746, 
                                  77.65058, 77.66715, 77.64214, 77.58415,
                                  77.76180, 76.65460), 
                    latitude = c(19.07726, 13.03902, 18.50330, 19.16764, 
                                 12.90871, 13.01693, 13.00954, …
Run Code Online (Sandbox Code Playgroud)

r distance latitude-longitude

35
推荐指数
2
解决办法
2万
查看次数

在地图上绘制坐标

我试图用R绘制我的坐标.我已经尝试过跟随不同的帖子(R:在世界地图上绘制分组坐标 ; 在R中的谷歌地图绘制多个点的坐标)但我的数据并没有太大成功.

我正在尝试使用我的gps坐标作为彩色圆点(每个区域为特定颜色)来获得世界的平面地图:

area         lat    long
Agullhas    -38,31  40,96
Polar       -57,59  76,51
Tasmanian   -39,47  108,93

library(RgoogleMaps)
lat <- c(-38.31, -35.50) #define our map's ylim
lon <- c(40.96,37.50) #define our map's xlim
center = c(mean(lat), mean(lon))  #tell what point to center on
zoom <- 2 #zoom: 1 = furthest out (entire globe), larger numbers = closer in
terrmap <- GetMap(center=center, zoom=zoom, maptype= "satallite", destfile = "satallite.png")
Run Code Online (Sandbox Code Playgroud)

问题,现在我不知道如何添加我的点,我想为每个区域一种颜色.

谁能帮助我继续前进呢?

我尝试过的另一个选择是:

library(maps)
library(mapdata)
library(maptools)
map(database= "world", ylim=c(-38.31, -35.5), xlim=c(40.96, 37.5), …
Run Code Online (Sandbox Code Playgroud)

maps google-maps r coordinates ggmap

34
推荐指数
2
解决办法
7万
查看次数

如何获取R中的内置数据集列表?

有人可以帮助如何获取内置数据集及其依赖包的列表?

r dataset r-faq

34
推荐指数
3
解决办法
2万
查看次数

R - 按定义的间隔切割

在R中是否有某种方法可以在没有任何中断的情况下按照定义的间隔进

例如,如果我想要精确区间[1,10]中的值; 默认情况下cut,将此间隔分成较小的间隔.

r

32
推荐指数
2
解决办法
5万
查看次数