简而言之,我的问题
假设我有一个包含两个向量的列表,每个向量都带有6元素。
我想用if语句比较这两个向量的值。然后,我想根据if语句的结果为每个元素指定一个名称。
示例:
x <- c(1,3,5,22,78,56)
y <- c(2,4,3,21,88,77)
z <- list(x, y)
然后,我想比较一下x和y的值如下:
比较x的第一个元素和y的第一个元素。如果x的值大于y,那么第一个元素应该命名为A,否则它应该命名为B。然后,输出应该是6元素,如下所示:
B B A A B B
以下是我的尝试:
for(i in 1:6){
if(z[[1]][i] &g
我有一个ifElse语句,它可以有以下两种类型
( a) ifElse(条件,expression_bool_result,expression_bool_result)
而expression_bool_result可能是TRUE/FALSE,和(),或(),==,!=.的结果。或者进一步的ifElse
( b) ifElse(条件,expression_arith_result,expression_arith_result)
虽然expression_arith_result可能是任意数字,但进一步函数的计算结果返回一个数字.(或进一步ifElse)
由于我对javacc并不熟悉,所以我
当我使用循环函数时,我有时会收到一条错误消息,当我试图将某个东西粘贴到另一个函数中时。我意识到,问题不在于循环,而在于我正在使用的函数。我注意到了一些功能,我想弄清楚为什么它不起作用。
例如:
example <- data.frame(
u = c(1,0,0),
v = c(0,1,1)
)
example <- transform(
example, code = ifelse(u==1,"u","v")
)
效果很好。但是,如果出于某种原因,我想插入一些粘贴的东西,它就不再起作用了:
example <- transfo
我想将这段sas代码转换成R,从现有的变量中创建一个新变量:
if eta=0 then eta1=0;
if 0<eta<=4 then eta1=1;
if 4<eta<=9 then eta1=2;
if 9<eta<=14 then eta1=3;
if 14<eta<=19 then eta1=4;
if 19<eta<=24 then eta1=5;
if 24<eta<=29 then eta1=6;
……以此类推..
我尝试使用ifelse,但这里我的新变量eta1不是二进制的。
然后我试了一下:
eta1
这只是一个基本的of,但它返回错误:“意外符号”,并指向最后一行的第一个字符。有什么想法吗?
input1<-readline("using C:/Users/HouseGroup/Desktop/betterformat.csv as the target csv file.
Is this correct? Y/N" )
ifelse (input1=="Y",
theData <- read.csv("C:/Users/HouseGroup/Desktop/betterformat.csv"),
rightDir<-
我被困在一个应该是相当简单的如果其他语句在R。
我有一个名为UK的数据框架,它包含几个列,其中一个列名为location,它包含该行数据所属的英国城市的名称。
我的目标是创建一个名为capital的新列,它将简单地将行分隔为二进制London或UK ex London。我没有做过很多if else语句,而且我正在努力使语法正确,下面是我的尝试:
if (UK$location[UK$location == "London"]) UK$capital <- "London" else UK$capital <- "UK ex London
我有一个数据集如下:
Col1 Col2 Spend
A 0 100
A 0 100
B 0 100
C 0 100
D 0 200
我想写一个ifelse语句,如果Col2的和大于0,那么设置Col2 = Spend。如果Col2的和不大于0,则只对值不等于A的相应行应用Spend列,其余的保留为Col2原始值。
我希望我的最后输出如下所示:
Col1 Col2 Spend
A 0 10
我创建一个脚本,根据所选选项显示结果。
我需要: A,B,C,D (0,1,-1)
int A = 0;
int B = 0;
int C = 0;
int D = 0;
安斯弗将是16个组合中的一个。
if A = 1 = A1;
if A = -1 = A2;
if B = 1 = B1;
if B = -1 B2;
if C = 1 = C1;
If C = -1 = C2;
If D = 1 = D1;
if D = -1 = D1;
A1;B1;C1;D1 = Nr1
A1;B1;C1;D2 = Nr2
A1;B1;C2;D1 = Nr3
A1;B1;C2;D2 = Nr4
A1;
我想通过使用一个条件语句在我的数据框中创建一个新的列,条件语句是"If Column_y column Column_x then 1 else 0“
例如:
Event Name Winner Loser New Column
1 James James,Bob John,Steve 1
1 Bob James,Bob John,Steve 1
1 John James,Bob John,Steve 0
1 Steve Ja
我有一个非常长的任务,它使用Spark创建了一堆视图,并且在某个步骤中得到了以下错误:pyspark.sql.utils.AnalysisException: The depth of view 'foobar' exceeds the maximum view resolution depth (100)。
我一直在谷歌搜索,所以找不到任何有类似错误的人。
我尝试过缓存视图foobar,但这并没有帮助。我正在考虑创建临时表作为一种解决办法,因为如果可能的话,我不想更改当前的Spark配置,但我不确定是否遗漏了什么。
UPDATE:我尝试以拼花格式创建表以引用表,而不是视图,但
在试图解决这个问题时,;我觉得解决方案更接近,但我做不到,因为dplyr mutate函数引用了在下面的代码中使用max(ID)而不是修改后的值(比如递归)时,预突变状态的max。
目标是为当前地址与相同ID值的前一个地址不匹配的行分配一个新的唯一ID值。
我试过的密码:
df <- read.table(text = 'ID Address
1 X
1 X
1 Y
2 Z
2 Z
我尝试在R中嵌套ifelse以创建一个新的向量C,其中如果向量A和B都缺失,则为NA;否则,如果其中一个向量包含1,则为"Yes";否则为"No“。示例:
A B C
1 1 Yes
1 0 Yes
0 1 Yes
0 0 No
NA 1 Yes
0 NA No
NA NA NA
下面是我在不同的迭代中使用的代码,但我无法让它正常工作。有什么建议吗?
df <- df %>% mutate(C=ifelse((is.na(A) & is.na(B)), NULL, ifelse((A==1 | B==1), "Yes&