我有一个dataframe,其中我想要创建一个0/1的新列(这将代表一个物种的缺席/存在),基于前几列中的记录。我一直在尝试这个:
update_cat$bobpresent <- NA #creating the new column
x <- c("update_cat$bob1999", "update_cat$bob2000", "update_cat$bob2001","update_cat$bob2002", "update_cat$bob2003", "update_cat$bo
我想检查数据帧的第二列是否为空值,并相应地填充第三列,称为"label“。
数据框架如下:
col1 col2 label
hello there both filled
this that both filled
start "" col2 empty
我正在尝试这样做:
for (i in nrow(dataframe)) {
if (isTRUE(dataframe[i,c('col2')] == "") == TRUE)
{ dataframe[i,]$label <- "b
我正试着熟悉一项简单的任务。但是,在呈现表时,我仍然停留在一个基本步骤上。我希望某些行/列组合以货币格式,有些以百分比表示。考虑一下这个简化的设置和dataframe,重点是百分比问题:
library(tidyverse)
library(kableExtra)
#>
#> Attaching package: 'kableExtra'
#> The following object is masked from 'package:dplyr':
#>
#> group_rows
library(formattable
我正在尝试基于条件表达式覆盖DataFrame中的新列:
将df‘if df['service'] == 'PE1' or 'PE2':Change’中的现有值设置为等于原始df‘’service‘+df’‘load port’。
# if ['load port] == 'ABC' then new value == PE1ABCelse:在df‘’service‘# in other words != 'PE1' or 'PE2'. 中保留原始值
我正在尝试从另一个DataFrame使用
我有一个表,日期在列1(列标题为"Date"),值在列1和列2(列标题为"A“和"B")。df
Date A B
1 1/1/16 X X
2 1/2/16 X Y
3 1/3/16 X Y
4 1/4/16 Y Y
5 1/5/16 Y X
等。
我需要创建额外的4列和5列A*和B*,其中包含以下内容:
对于每一行:
对于列A* -如果当前行中列A中的值与前一行中列A中的值不同,则插入新值,如果值相同,则不插入任何值。
对于列B* -如果当前行中列B中的值与前一行中列B中的值不同,则插入新值,如果值相同,则不插入任何值。
所需输出:
D
我有一个数据,看起来像这样,但有20个级别。
df <- data.frame(
x = factor(c("alpha","beta","gamma","delta")),
y = factor(c("alpha","beta","gamma","delta")),
z = factor(c("alpha","beta","gamma","delta"))
我想根据其他三列
我试图避免使用非常长的if_else语句,甚至避免使用嵌套的for-循环来遍历每一行并查看它们的值。
但基本上,我有一个如下所示的数据框架(30列,50 000行):
Col1 Col2 Col3 Col4...Col30
Z L D T A
D D T Z X
L G T A J
....
如果任何一行都有字母Z,则新的列标记“结果”将具有“是”。另外,它将有一个不。
Col1 Col2 Col3 Col4...Col30 Result
Z L D T A