我可以使用do.call函数将list转换为data.frame:
z=list(c(1:3),c(5:7),c(7:9))
x=as.data.frame(do.call(rbind,z))
names(x)=c("one","two","three")
x
## one two three
## 1 1 2 3
## 2 5 6 7
## 3 7 8 9
Run Code Online (Sandbox Code Playgroud)
我想让它更简洁,将两个陈述合并为一个陈述,我可以吗?
x=as.data.frame(do.call(rbind,z))
names(x)=c("one","two","three")
Run Code Online (Sandbox Code Playgroud) 我正在尝试将ddply用于我的示例数据(调用Z),如下所示:
id y
1001 10
1001 11
1200 12
2001 10
2030 12
2100 32
3100 10
3190 13
4100 45
5100 67
5670 56
...
10001 54
10345 45
11234 32
and so on
Run Code Online (Sandbox Code Playgroud)
我的目的是找到以1开头的id的总和(ie1001,1200,..),2(2100),3(3100,3190),4,... 10,11,... 65 .例如,对于以1开头的id,总和为10 + 11 + 12 = 33,对于以2开头的id,它为32.
我想使用apply函数,如下所示:
>s <- split(z,z$id)
>lapply(s, function(x) colSums(x[, c("y")]))
Run Code Online (Sandbox Code Playgroud)
但是,这给了我每个唯一ID的总和,而不是我正在寻找的那个.任何有关这方面的建议都将受到高度赞赏.
我再次面对一个复杂的ggplot.我想使用构面网格在一个图中绘制不同的绘图类型.
我希望我可以使用下面的例子清楚地说明我的观点:我想制作一个类似于第一张图片的图,但上图应该看起来像第二张图.我已经使用子集函数找到了这个技巧,但是我不能将垂直线添加到一个图中,更不用说两个或三个(或指定颜色).
码:
a <- rnorm(100)
b <- rnorm(100,8,1)
c <- rep(c(0,1),50)
dfr <- data.frame(a=a,b=b,c=c,d=seq(1:100))
dfr_melt <- melt(dfr,id.vars="d")
#I want only two grids, not three
ggplot(dfr_melt,aes(x=d,y=value)) + facet_grid(variable~.,scales="free")+
geom_line(subset=.(variable=="a")) + geom_line(subset=.(variable=="b"))
#Upper plot should look like this
ggplot(dfr,aes(x=d,y=a)) + geom_line() + geom_line(aes(y=c,color="c"))+
geom_hline(aes(yintercept=1),linetype="dashed")+
geom_hline(aes(yintercept=-2),linetype="dashed")
Run Code Online (Sandbox Code Playgroud)


有没有一种简单的方法可以用另一个字符串列表替换字符向量中的字符串子列表?就像是
gsub(c("a","b"),c("z","y"),a)
Run Code Online (Sandbox Code Playgroud)
要么
replace(a,c("a","b"),c("z","y"))
Run Code Online (Sandbox Code Playgroud)
不幸的是,这两个都不起作用?
这可能是一个非常基本的问题,但我在一个xyplot中在Lattice中苦苦挣扎,我绘制了曲线和回归线(类型"r",类型"l"),以给每一行提供不同的颜色.
我已经基本上尝试了下面的代码和?cars数据集.
xyplot(speed ~ dist, data=cars, type=c("r", "l"),
col=c("red", "black"),
auto.key=list(lines=TRUE))
Run Code Online (Sandbox Code Playgroud)
问题是它绘制了两条线,但它们都是红色的....
我有一个这样的数据框:
data=data.frame(ID=c("0001","0002","0003","0004","0004","0004","0001","0001","0002","0003"),Saldo=c(10,10,10,15,20,50,100,80,10,10),place=c("grocery","market","market","cars","market","market","cars","grocery","cars","cars"))
Run Code Online (Sandbox Code Playgroud)
我试图计算ID变量应用cumsum或apply的每个人的aldo总和,但我没有得到我想要的结果.我希望有人这样:
ID Saldo.Total
1 0001 190
2 0002 20
3 0003 20
4 0004 85
Run Code Online (Sandbox Code Playgroud) 所以...我有一个包含许多类别的变量的大型数据集.我想创建新的变量,将其中一些类别组合成一个.
我可以用条件语句来做到这一点,但考虑到类别的数量,我当时需要永远走一行.此外,虽然我的原始变量是数字,但值本身是随机的,所以我不能使用逻辑或范围语句.
如何根据许多特定值创建此条件变量?
我尝试了以下,但没有成功.下面是我想要分组的一个不同类别的示例.
classes <- c(549,162,210,222,44,96,62,208,525,202,149,442,427,
564,423,106,422,546,205,560,127,536,34,261,568,
366,524,401,548,95,156,8,528, 430,527,556,203,554,523,
501,530,55,252,585,19,540,71,204,502,504, 196,436,48,
102,526,201,521,23,558,552,118,416,117,216,510,494,
516,544,518)
Run Code Online (Sandbox Code Playgroud)
所以这对我来说似乎很直观,但它不起作用.
df$chem<- cbind(ifelse(df$class == classes ,1,0))
Run Code Online (Sandbox Code Playgroud)
毋庸置疑,我是一个初学者,这可能不是那么难做,但我一直在寻找这个特定问题的解决方案,我似乎无法找到它.我错过了什么?谢谢!
目前javascript在这里:
<script type="text/javascript">
jQuery(document).ready(function($){ //fire on DOM ready
$('myimage').addpowerzoom()
})
</script>
Run Code Online (Sandbox Code Playgroud)
仅适用于id ="myimage"
如何使它适用于class ="myimage"
它引用.js文件,我需要在那里进行更改吗?我刚刚下载了缩放javascript.
谢谢!
所以我的文本文件包含正确格式的数据,它应该在R中的列表中,但它是14 Mb,显然2Mb是一个限制?我需要将此文本文件作为列表加载到R中.
这里有另一篇文章,但该命令(见下文)只是出错了
inlist <- strsplit(readLines("myList.txt"), "[[:space:]]+")
Run Code Online (Sandbox Code Playgroud)
谢谢我的意思是它的样子,因为它在这里是如何开始的
structure(list(inputsTrain = structure(c(-73, -69, -48, 13, -86, -147, -65, -71, -32, 100, -73, -196, -102, 37, 14, 55, ........
Run Code Online (Sandbox Code Playgroud) r ×8
apply ×1
conditional ×1
ggplot2 ×1
graph ×1
javascript ×1
jquery ×1
large-files ×1
lattice ×1
list ×1
php ×1
string ×1
text ×1
whois ×1