小编N8T*_*TRO的帖子

R将变量列索引传递给ggplot2

我试图将列索引传递给ggplot作为我将重复使用的函数的一部分.喜欢:

myplot <- function(df){
    ggplot(df, aes(df[, 1], df[, 2])) + geom_point()
}
Run Code Online (Sandbox Code Playgroud)

我总是使用第一列作为我的x变量,第二列作为我的y变量,但列名在数据集之间变化.我到处搜索了......有什么想法吗?

编辑:

这是我用过的答案:

require(ggplot2)

myplot <- function(df){
   ggplot(df, aes_string(colnames(df)[1], colnames(df)[2])) + geom_point()
}
Run Code Online (Sandbox Code Playgroud)

r ggplot2 dataframe

67
推荐指数
1
解决办法
4万
查看次数

`sample()`使用相同的`set.seed()`给出不同的值

我正在创建一些随机样本并绘制它们并注意到一种奇怪的行为.加载ggplot2后,采样值不同:

set.seed(111)
library(ggplot2)
sample(1:10, 10)
# [1]  8  4  5  3  7  1  6  2 10  9

set.seed(111)
sample(1:10, 10)
#  [1]  6  7  3  4  8 10  1  2  9  5
Run Code Online (Sandbox Code Playgroud)

我可以很容易地避免这种行为,但是ggplot2有没有理由改变种子值?

r sample ggplot2 seeding

14
推荐指数
1
解决办法
8130
查看次数

在R的复平面上有多个根

我一直试图找到一个返回方程的所有复杂解的函数,例如:

16^(1/4) = 2+i0,  -2+i0,  0+i2,  0-i2
Run Code Online (Sandbox Code Playgroud)

就目前而言,如果我进入16^(1/4)控制台,它只返回2.我可以为此编写一个函数,但我想知道是否有一种简单的方法在R中执行此操作.

r complex-numbers

6
推荐指数
1
解决办法
825
查看次数

R编程我需要帮助查找包含2列的列表的总和

我需要你的帮助:

我有一个清单:

list(c(0,1), c(1,1), c(3,2))
Run Code Online (Sandbox Code Playgroud)

我怎么能得到这笔钱:

(0-1)+(1-1)+(3-2)
Run Code Online (Sandbox Code Playgroud)

r sum

6
推荐指数
3
解决办法
874
查看次数

VHDL:有没有方便的方法将ascii值分配给std_logic_vector?

我一直在用:

hello <= X"65_68_6c_6c_6f";
Run Code Online (Sandbox Code Playgroud)

这对于大字符串来说是不清楚和耗时的.

我查看了textiotxt_util,但似乎都不清楚如何解释字符串并将其转换为std_logic.

是否有一种简单的方法可以在VHDL中将ascii代码分配给std_logic?

这是一个最小的例子:

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;

ENTITY test IS
PORT(
   ctrl : IN std_logic;
   stdout : OUT std_logic_vector (39 DOWNTO 0)
);
END ENTITY;

ARCHITECTURE rtl OF test IS
   SIGNAL temp : std_logic_vector (39 DOWNTO 0);
BEGIN
   stdout <= temp;
   PROCESS(ctrl)
   BEGIN
      IF (ctrl = '0') THEN …
Run Code Online (Sandbox Code Playgroud)

ascii verilog vhdl

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

R中数字信号处理的卷积

我有一个简单的数字系统,它有一个输入x(n)= u(n) - u(n-4). 系统1

我试图用'signal'包中的conv()函数或'stats'包中的convolve()函数找到输出y(n),并绘制y(n)对n为-10≤n≤ 10.

到目前为止,我有以下代码:

library(signal)

n <- c(-10:10)                           # Time index
x <- c(rep(0, 10), rep(1, 4), rep(0, 7)) # Input Signal
h1 <- c(rep(0, 11), 0.5, rep(0, 9))      # Filter 1
h2 <- 0.8^n                              # Filter 2
h2[0:11] <- 0                            #

system <- data.frame(n, x, h1, h2)


y <- conv(x + conv(x, h1), h2)           # Output Signal

system <- transform(system, y=y[1:21]) 

plot(system$n, system$y)  
Run Code Online (Sandbox Code Playgroud)

我检查了这个情节,这是非常错误的.我认为在进行卷积时有一些向量的循环,而conv()函数的输出似乎与原始时间索引不一致.我似乎无法弄清楚如何修复我的逻辑.我意识到conv(n,m)函数返回一个长度为(m + n)-1的向量,有没有一种很好的方法可以很容易地将这个向量与时间索引向量相匹配?

这需要一些数字信号处理的知识以及R中的编码,如果有人有为此目的使用R的经验并且可以提供一些指示,那将是很好的.提前致谢.

signal-processing r vector convolution digital

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

在递归属性中使用队列

我有一些来自1位串行端口的数据,它有多个字节的变量长度,如下所示:

byte expected_1 [$] = {8'hBA, 8'hDD, 8'hC0, 8'hDE};
byte expected_2 [$] = {8'h01, 8'h23, 8'h45, 8'h67, 8'h89, 8'hAB, 8'hCD, 8'hEF};  
Run Code Online (Sandbox Code Playgroud)

在每个正时钟边沿,发送一位.我需要testbench对序列的追求(将来可能有数千个),所以我想在系统verilog中使用断言自动化该过程.新的2012标准允许将队列传递给属性,但队列是否可以通过递归属性发送?我收到一些关于分层引用的错误.

这是我迄今为止(从@格雷格帮助这里):

default clocking sck @(posedge sck); endclocking : sck  

sequence seq_serial(logic signal, logic [7:0] expected); // check each bit
  byte idx = 7;
  (signal == expected[idx], idx--)[*8];
endsequence : seq_serial

property recurring_queue(bit en, logic data, byte data_e [$])
  int queue_size = data_e.size;
  logic [7:0] expected = data_e.pop_front(); 

  if(queue_size != 0) (
    !en throughout (seq_serial(data, expected) ##1 …
Run Code Online (Sandbox Code Playgroud)

verification verilog assertions system-verilog system-verilog-assertions

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

在使用数字矩阵索引数据框时,为什么类会从整数更改为字符?

如果我用矩阵索引所有整数的data.frame,我得到预期的结果.

df <- data.frame(c1=1:4, c2=5:8)
df1
#  c1 c2
#1  1  5
#2  2  6
#3  3  7
#4  4  8

df1[matrix(c(1:4,1,2,1,2), nrow=4)]
# [1] 1 6 3 8
Run Code Online (Sandbox Code Playgroud)

如果data.frame有一列字符,则结果是所有字符,即使我只是对整数列建立索引.

df2 <- data.frame(c0=letters[1:4], c1=1:4, c2=5:8)
df2
#  c0 c1 c2
#1  a  1  5
#2  b  2  6
#3  c  3  7
#4  d  4  8

df2[matrix(c(1:4,2,3,2,3), nrow=4)]
# [1] "1" "6" "3" "8"

class(df[matrix(c(1:4,2,3,2,3), nrow=4)])
# [1] "character"

df2[1,2]
# [1] 1
Run Code Online (Sandbox Code Playgroud)

我最好的猜测是,R太忙了,无法通过答案来检查它们是否都来自某个班级.任何人都可以解释为什么会这样吗?

r

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

修改R中饼图中轮廓的宽度 - pie()的lwd参数等价于什么?

我正在使用baseR绘图函数来生成饼图,我想更改每个饼图段轮廓的线条粗细. ?pie似乎表明我可以添加可选的图形参数,但添加lwd=似乎不起作用.任何人都有任何关于我如何能够做到这一点的线索.我还不熟练制作饼图ggplot,并且希望坚持使用baseR绘图(如果可能的话).

library(RColorBrewer)

x1 <- data.frame(V1 = c(200, 100)) ##  generate data

row.names(x1) <- c("A", "B")

x1$pct <- round((x1$V1/sum(x1$V1))*100, 1)

lbls1 <- paste(row.names(x1), "-(",x1$pct, '%)', sep='') ## add some informative stuff

pie(x1$V1, labels=lbls1, col=tail(brewer.pal(3, 'PuBu'), n=2), 
           main=paste('My 3.1415'), cex=1.1, lwd= 3) 
Run Code Online (Sandbox Code Playgroud)

注意lwd=不会像在其他基础绘图中那样增加线条粗细.

有人有任何线索吗?

r

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

如何估算R中散点图的最佳拟合函数?

我有两个变量的散点图,例如:

x<-c(0.108,0.111,0.113,0.116,0.118,0.121,0.123,0.126,0.128,0.131,0.133,0.136)

y<-c(-6.908,-6.620,-5.681,-5.165,-4.690,-4.646,-3.979,-3.755,-3.564,-3.558,-3.272,-3.073)
Run Code Online (Sandbox Code Playgroud)

我想找到更适合这两个变量之间关系的函数.

准确地说,我想拟合比较三种模式:linear,exponentiallogarithmic.

我正在考虑将每个函数拟合到我的值,计算每种情况下的可能性并比较AIC值.

但我真的不知道如何或从哪里开始.任何可能的帮助将非常感激.

非常感谢你提前.

蒂娜.

r curve-fitting model-fitting

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