绑定向量时,rbind不检查列名:
l = list(row1 = c(10, 20), row2 = c(20, 10))
names(l$row1) = c("A", "B")
names(l$row2) = c("B", "A")
l
$row1
A B
10 20
$row2
B A
20 10
rbind(l$row1, l$row2)
A B
[1,] 10 20
[2,] 20 10
Run Code Online (Sandbox Code Playgroud)
如何从多个列表元素生成此矩阵,确保列名在行间正确匹配:
A B
[1,] 10 20
[2,] 10 20
Run Code Online (Sandbox Code Playgroud) x <- 1:10
str(x)
# int [1:10] 1 2 3 4 5 6 7 8 9 10
str(as.double(x))
# num [1:10] 1 2 3 4 5 6 7 8 9 10
str(as(x, 'double'))
# int [1:10] 1 2 3 4 5 6 7 8 9 10
Run Code Online (Sandbox Code Playgroud)
如果R中有一个像类型转换那么基本的错误,我会感到惊讶.有这种不一致的原因吗?
我有一个看起来像的字符向量
c("white","white","blue","green","red","blue","red")
Run Code Online (Sandbox Code Playgroud)
和特定的顺序
c("red","white","blue","green")
Run Code Online (Sandbox Code Playgroud)
.我想根据第二个向量的顺序对第一个向量进行排序,以获得以下向量:c("red","red","white","white","blue","blue", "green")
.什么是最好的解决方案?
我正在尝试构建一个Rstudio/Shiny App并将其发布到我们的Intranet中,以便我们办公室中的其他人都可以看到它.我是一个Windows家伙,网上有关如何在Linux环境中设置闪亮服务器的说明对我来说有点困难.有没有一种简单的方法可以在不搞乱Linux的情况下实现这一目标.即使我必须这样做,有一种简单的方法可以让我的网页可供我们公司内的人使用,而不是互联网上的每个人.谢谢!
这是一些数据和情节:
set.seed(18)
data = data.frame(y=c(rep(0:1,3),rnorm(18,mean=0.5,sd=0.1)),colour=rep(1:2,12),x=rep(1:4,each=6))
ggplot(data,aes(x=x,y=y,colour=factor(colour)))+geom_point()+ geom_smooth(method='lm',formula=y~x,se=F)
Run Code Online (Sandbox Code Playgroud)
如您所见,线性回归受x = 1的值的影响很大.我可以获得针对x> = 2计算的线性回归,但显示x = 1的值(y等于0或1).除线性回归外,结果图将完全相同.他们不会"受"这些值对abscisse = 1的影响
我正在附加,分离和重新附加RODBC和data.table.当我按此顺序使用这些包执行此过程时,我收到以下错误:
Error : .onLoad failed in loadNamespace() for 'data.table', details:
call: address(x)
error: object 'Caddress' not found
Run Code Online (Sandbox Code Playgroud)
我正在使用这些软件包的最新版本.这是我的初始会话信息:
R version 3.1.0 (2014-04-10)
Platform: i386-w64-mingw32/i386 (32-bit)
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
Run Code Online (Sandbox Code Playgroud)
例
pkgs <- c('RODBC', 'data.table') # Note, c('data.table', 'RODBC') will work
for (pkg in pkgs) library(pkg, character.only=TRUE)
for (pkg in paste0('package:', pkgs)) detach(pkg, unload=TRUE, character.only=TRUE)
for (pkg …
Run Code Online (Sandbox Code Playgroud) 我有像这样困难标题的表:
Subject Cat Nbr Title Instruction..Mode!
1 XYZ 101 Intro I ONLINE
2 XYZ 102 Intro II CAMPUS
3 XYZ 135 Advanced CAMPUS
Run Code Online (Sandbox Code Playgroud)
我想重命名列 dplyr::rename()
df %>%
rename(subject = Subject,
code = Cat Nbr,
title = title,
mode = Instruction..Mode!)
Run Code Online (Sandbox Code Playgroud)
但我得到了一个 Error: unexpected symbol in:
我怎么能和解这个?
我是R的新手,有一个相当简单的问题,我无法弄清楚答案.对于我的示例,我将使用具有3列的数据框,但我的实际数据集是139列,10000行.
如果C列中同一行中的值包含值<10,我想用NA替换给定行中的所有值.
假设我的所有列都是数字或整数值.
所以我想采取数据框:
x=data.frame(c(5,9,2),c(3,4,6),c(12,9,11))
names(x)=c("A","B","C")
Run Code Online (Sandbox Code Playgroud)
并用NA替换第2行来创建
y=data.frame(c(5,"NA",2),c(3,"NA",6),c(12,"NA",11))
names(y)=c("A","B","C")
Run Code Online (Sandbox Code Playgroud)
谢谢!
我正在努力让R读取一个csv文件,其中一些列标准英文字符,一些数字和一些日文字符字段.这是数据的样子:
category,desc,otherdesc,volume
UPC - 31401 Age Itameabura,???????????,OIL_OTHERS_SML_ECO,83.0
UPC - 31401 Age Itameabura,???????,OIL_OTHERS_MED,137.0
UPC - 31401 Age Itameabura,????????,OIL_CANOLA_OTHERS_LRG,3026.0
Run Code Online (Sandbox Code Playgroud)
将R的语言设置为英语,将日语字符转换为一些乱码.当我将R中的语言设置更改为日语时Sys.setlocale("LC_CTYPE", "japanese")
,我看到文件根本没有被读入.R给出错误说:
make.names出错(col.names,unique = TRUE):'サ类'中的多字节字符串无效
我不知道我的csv文件或标题名称有什么问题.您能否指导我如何将此csv文件读入R中,以便所有内容都像在csv文件中一样显示?
谢谢!Vish
我在UTM区域48中有一个点坐标数据集.
x y
615028.3 2261614
615016.3 2261635
614994.4 2261652
Run Code Online (Sandbox Code Playgroud)
CSV文件在这里.
我想加载CSV并使用R创建shapefile.我的代码是:
library(maptools)
library(rgdal)
library(sp)
UTMcoor=read.csv(file="https://dl.dropboxusercontent.com/u/549234/s1.csv")
coordinates(UTMcoor)=~X+Y
proj4string(UTMcoor)=CRS("++proj=utm +zone=48") # set it to UTM
LLcoor<-spTransform(UTMcoor,CRS("+proj=longlat")) #set it to Lat Long
plot(LLcoor)
points(LLcoor$X,LLcoor$Y,pch=19,col="blue",cex=0.8) #to test if coordinate can be plot as point map
writeOGR(UTMcoor, dsn="c:/todel" ,layer="tsb",driver="ESRI Shapefile")
writeSpatialShape("LLcoor","test")
Run Code Online (Sandbox Code Playgroud)
在最后一个命令(writeSpatialShape)中,R给出以下错误:
Error in writeSpatialShape("LL2", "test") :
x is acharacterobject, not a compatible Spatial*DataFrame
Run Code Online (Sandbox Code Playgroud)
当我从控制台读取LLcoor时,它似乎已经是一个Spatial DataFrame.使用writeOGR(RGdal包)编写形状文件也会产生类似的错误.任何提示都非常感谢.