我有这样的数据:
df <- data.frame(X=rnorm(10,0,1), Y=rnorm(10,0,1), Z=rnorm(10,0,1))
Run Code Online (Sandbox Code Playgroud)
我需要将每个变量相互映射,所以我使用了
plot(df)
Run Code Online (Sandbox Code Playgroud)
它将df中的每个变量与彼此完全相符.
但我想在每个子图中添加45度线(其中x = y).我想知道怎么做?我也尝试过循环但是由于"空间约束"它不会发生[实际上我在df中有5个变量].请帮忙.
谢谢
我在 R 中有以下数据:
structure(list(Name = 1:4, Paper1 = c("C1", "C1", "C1", "C1"),
Marks1 = 1:4, Paper2 = c("D1", "D1", "D1", "D1"), Marks2 = 1:4,
Paper3 = c("E1", "E1", "E1", "E1"), Marks3 = 12:15), class = "data.frame", row.names = c(NA, -4L))
Run Code Online (Sandbox Code Playgroud)
我想这样安排我的数据:
structure(list(Name = c(1L, 1L, 1L, 2L, 2L, 2L), Paper = c("C1",
"D1", "E1", "C1", "D1", "E1"), Marks = c(1L, 1L, 12L, 2L, 2L,
13L)), class = "data.frame", row.names = c(NA, -6L))
Run Code Online (Sandbox Code Playgroud)
我尝试过shape,,,melt但两者都没有提供所需的输出。请提出解决方案。
如果原子向量的上次运行为零,我只想计算上次运行的连续零个数。
例如:
a <- c(1, 0, 0, 0)
Run Code Online (Sandbox Code Playgroud)
因此,上次运行的连续零数为3。
如果最后一次运行不为零,则答案必须为零。例如
a <- c(0, 1, 1, 0, 0, 1)
Run Code Online (Sandbox Code Playgroud)
因此,答案为零,因为在上一次运行中,结果为1,而不是零。
我不想使用任何外部包装。我设法编写了一个使用循环的函数。但是我认为必须存在更有效的方法。
a <- c(1, 0, 0, 0)
Run Code Online (Sandbox Code Playgroud)
谢谢 :)
我想知道如何简单地创建虚拟变量.我在假人身上发现了许多类似的问题,但要么是基于一些外部包装或技术.
我有这样的数据:
df <- data.frame(X=rnorm(10,0,1), Y=rnorm(10,0,1))
df$Z <- c(NA, diff(df$X)*diff(df$Y))
Run Code Online (Sandbox Code Playgroud)
ž创建在X和变化在Y.变化的DF即产物中一个新的变量现在我想在DF创建一个虚拟变量d使得如果位:Z <0则d == 1,如果Z> 0,则d == 0.
我试过这样的方式:
df$D <- NA
for(i in 2:10) {
if(df$Z[i] <0 ) {
D[i] ==1
}
if(df$Z[i] >0 ) {
D[i] ==0
}}
Run Code Online (Sandbox Code Playgroud)
这不起作用.我想知道为什么上面的代码不起作用(这很容易做到这一点)以及虚拟变量如何在R中创建而不使用任何外部包而只需要一点点解释.
我首先定义了新变量x,然后x在其体内创建了需要的函数(而不是参数).见下面的代码
x <- c(1,2,3)
f1 <- function() {
x^2
}
rm(x)
f2 <- function() {
x <- c(1,2,3)
f1()
}
f(2)
Error in f1() : object 'x' not found
Run Code Online (Sandbox Code Playgroud)
当我删除x并定义f2了首先定义x然后执行的新函数时f1,它会显示x未找到的对象.
我只是想知道为什么这不起作用以及如何克服这个问题.我不想x成为名字作为参数f1.
请提供适当的标题,因为我不知道这是什么问题.