不通过条件复制的列R
问题描述:
我想读取R中的表格,然后检查表格的类别列是否匹配某个值,如果它将不同列的值复制过来。因此,创造价值是谁的类别标签的排列与条件不通过条件复制的列R
B <- read.table("tableFile2.data", sep=";", header=TRUE, row.names=2)
B$new <- ifelse(B$category == "mammal", B$animal, NA)
B$new
随着文件
wasted space
more waste
animal;RowName;category
dog;a;mammal
spider;b;insect
monkey;c;mammal
sardine;d;fish
Jeromy;J;angry
但是相匹配,当我执行这个和打印B $新 我得到的值
1 NA 2 NA
因此,该程序清楚地适用于该条件,但正确的值不被复制
答
首先,第一个查询(如果该文件实际上看起来就像你在问题中所描述的一个)应该是:
B <- read.table("tableFile2.data", sep=";", header=TRUE, skip=2)
为了完成上述任务,可以运行此查询:
B$new <- ifelse(B$category == "mammal", as.character(B$animal), NA)
您提到的输出背后的原因是在这个数据框B中,'animal'列被当作FACTOR而不是字符。
您在输出中获得的数字与您在将B $动物投射为“整数”时获得的数字相似。
+0
谢谢,完美的工作。 –
data.frame B是什么样的? –