在R中,我有一个来自csv的数据,其中包含了列A中的不同值。我想创建一个新的列B,方法是从A的下一行中减去A中的同一行,但前提是有两个连续的值≠0
最好用一个例子来解释:
A B explanation
_ _ ___________
0 0 0, because A = 0
1 1 2-1
2 1 3-2
3 0 0, because next line in A = 0
0 0 0, because A = 0
4 0 0, because next line in A = 0
0 0
我需要合并两个dataframes x和y,它们有大约50列共同的和一些唯一的列,并且我需要将所有的行从x中保留。
如果我跑了,它就会起作用:
NewDataframe <- merge(x, y, by=c("ColumnA", "ColumnB", "ColumnC"),all.x=TRUE)
问题是有50多个公共列,我宁愿避免键入所有公共列的名称。
我试过:
NewDataframe <- merge(x, y, all.x=TRUE)
但出现以下错误:
Error in merge.data.table(x, y, al
我有两个数据帧。数据帧的长度不同,但其ID列中的ID相同。我想在df中创建一个名为Classification的列,它基于df2中的Classification。我希望df中的Classification列与df2中列出的相应ID相匹配。有什么好方法可以做到这一点吗? #Example data set
library(lubridate)
date <- rep_len(seq(dmy("26-12-2010"), dmy("20-12-2011"), by = "days"), 500)
ID <- rep(seq(1, 5),
在R中,我试图合并到不同长度的数据,但没有成功,这些数据被一个名为id的列所匹配。有人知道怎么解决这个问题吗?
输入:
df1:
id group
1 x
2 y
3 x
df2:
id day
1 0
1 1
1 2
2 0
2 1
2 2
3 0
3 1
3 2
所需的输出(df2中添加了基于df1的组列):
id day group
1 0 x
1 1 x
1 2 x
2 0 y
2 1 y
2 2 y
3 0 x
3 1
我有两列(带字符的变量),其余的变量是数字的。我想使用两个列变量(字符)唯一地拆分数据,并希望找到一个列表,然后使用lapply,我该怎么做呢? library (stringr)
data1<- data[,4]
data_PS <-str_split_fixed (data$P, data$S, n= inf)
data_SP<- split(data1, data_PS)
At this stage, I am expecting something like the following, but I couldn't:
$B01A AB
0.004207
我有如下所示的数据:
moo <- data.frame(Farm = c("A","B",NA,NA,"A","B"),
Barn_Yard = c("A","A",NA,"A",NA,"B"),
stringsAsFactors=FALSE)
print(moo)
Farm Barn_Yard
A A
B A
<NA> <
我想从几个(很多!)在.csv文件中创建一个新的.csv文件,其中所有的列都堆叠在一起。除了一列数据外,所有.csv文件都位于一个文件夹中,并且几乎是相同的。大多数列需要保持完全相同,但是需要从其中一个列的标题中的名称生成一个新列(这是唯一将更改的标题),我想删除一些不需要的数据列。下面是我希望发生的事情的一个例子,但只简化为两个数据集:
Data set 1
X date distance.code location.code Time1 unneeded.data
1 2021/05/18 C BSF1 0.715
我使用R (RStudio)已经有几个星期了,我遇到了一个我不知道如何解释的问题。我在网上也找不到它的任何地方,我的代码似乎遵守了大多数在线自助指南设定的标准。这很可能与我对R.的理解有限有关,任何建议都将不胜感激。
我正在阅读一个Excel电子表格( dataInput <- readxl::read_xlsx('demo.xlsx') ),然后将其存储为tibble,如下所示(这只是演示数据):
Val Colour Range Rate
<dbl> <chr> <dbl> <dbl>
1 NA r
SELECT CONCAT(a.name,' ', a.surname) as "Deluxe drivers", m.producer, m.model
from employer a
INNER JOIN Driver s on s.iddriver=a.idemployer
INNER JOIN Taxi t ON t.idtaxi=s.idtaxi
INNER JOIN Model m ON m.idmodelcar=t.idmodelcar
WHERE m.producer IN ('Audi','Skoda',
我正在尝试通过R: ID number和address中的两列来匹配两个表中的数据。我主要是通过ID号进行匹配,但是缺少数据,所以address是匹配的备份列。你有什么建议吗?merge()是否允许在"by“参数中使用"or”?
left_join获取匹配的数据,然后过滤掉丢失的数据并重复
这不起作用,但是举个例子:
merge(table1, table2, by = 'ID number' or 'address')
太长了。
我有两个数据帧DF1和DF2。 DF1 Names B.P Age Sex
Ted 120 23 M
Sed 110 24 F
Med 123 23 M
DF2 Names Income
Ted 1000
Sed 2000
Fed 3000
Med 1000 对于每个参与者姓名,DF1都包含三个变量。(DF1$Names)。我想要的是将列( DF2 $ Income )从DF2添加到DF1,但只应添加T