嗨,我是新的R和想要一些帮助优化代码。
我有一个dataframe,我想设置一个bool值,如果它的上一行中的值有更改的话。
下面的示例似乎有效,但是是否有更好/更易读的方法来编写这段代码?
也许是因为我对R不熟悉,但是我觉得df,语法有点难理解。
# df is a dataframe with a c, which contains an integer value
df$changed = FALSE
c = 0
for ( i in 1:nrow(df)){
if (df[i,]$c != c){
c = df[i,]$c
df[i,]$changed = TRU
我是R的新手,正在尝试执行简单的if/then语句。使用dataframe DFnew,我想执行: if "location2" is not missing then "Location" = "location2" 我的代码: library(dplyr)
test %>% DFnew %>%
if(location2 != NA){
Location <- location2
}
我想创建一个变量"WKA“,它有三个特性:0、1和2。
WKA should be 0 if WKA_ohneJB[, "QUANTITY"]>=1 && WKA_ohneJB[, "WKA"]==0,
WKA should be 1 if WKA_ohneJB[, "QUANTITY"]>=1 && WKA_ohneJB[, "WKA"]>=1,
WKA should be 2 if WKA_ohneJB[, "QUANTITY"]==0 &&am
假设表中有2列
数量整数十进制
我想要计算第三列的值,名为“总计”。
在Server的transact-sql中,我可以简单地编写
select Price*Quantity as Total from mytable
或者,我可以编写一个使用过的定义函数CalcTotal,然后编写
select calcTotal(quantity,price) as total from mytable
如何在R中编写函数以将类似的列添加到dataframe中?
我试图提出我的问题
我有一个数据集,它有一个可变的水果和一个所有者。输入:
ID Fruit Owner
1 apple Jane
2 orange Jane's dog
3 cherry John
4 apple John's cat
5 orange John
6 cherry Jane's dog
如果满足水果和所有者列中的两个条件,我希望重命名水果列中的所有值;水果不是苹果,并且所有者包含'符号。我希望最终结果如下所示:
ID Fruit Owner
1
我有一个这样的data.frame:
df=data.frame(id=c("A","A","A","B","B","B"), V=c(3,6,8,5,6,4))
我想将V的每个值除以相同ID上的V的和,并将结果存储在新列中。我可以通过使用for循环来实现这一点:
for (i in 1:nrow(df)) {
df$y[[i]] <- df$V[[i]]/sum(subset(df, id == df$id[[i]])$V)
}
它给出了预期的输出:
id V y
1