简体   繁体   English

`$<-.data.frame` 中的错误(`*tmp*`,R 循环

[英]Error in `$<-.data.frame`(`*tmp*`, cycle for R

Good morning,早上好,

I have a problem with my cycle for.我的周期有问题。

My dataframe is:我的数据框是:

Name_FD

Column_A   Column_B       Column_C    Column_D  Column_X
Element1  8808864430  88440000011863    Text1      *NA*
Element2  8808877431  88455000045863    Text2      *NA*
Element3  8808886677  88447800011865    Text3      *NA*
Element4  8808888830  88455000045867    Text4      *NA*
Element5  8808888830  88440000011869    Text5      *NA*
Element6  8808888830  88455000045810    Text6      *NA*
Element7  8808889977  88447800011865    Text3      *NA*
Element7  8808889977  88447800011865    Text3      *NA*

My code is:我的代码是:

Name_FD$Column_X <- rep(NA, length(Name_FD$Column_B))
for (i in Name_FD$Column_B){
 for ( j in Name_FD$Column_B[-1,]) {
    if(i == j) {
      Fonte_Dati$x[i]= 1 
    } else {
      Fonte_Dati$x[i]= 0
   }
 }
}

The errors are:错误是:

Error in Name_FD$Column_B[-1, ] : incorrect number of dimensions

Error in `$<-.data.frame`(`*tmp*`, "Column_X", value = c(NA, NA, NA, NA, NA,  : 
replacement has 16669 rows, data has 16668

The Column_B is ordered from the smallest to the largest. Column_B 从最小到最大排序。

I 'd like to know, for example, if the element of Colum_B [3,] is equal with the element of Column_B[4,].例如,我想知道 Colum_B [3,] 的元素是否与 Column_B[4,] 的元素相等。

If this is true, I'd like to insert 1 in the Column_X (in the same row of the element of Column_B[4,]) , otherwise 0.如果这是真的,我想在 Column_X (在 Column_B[4,] 的元素的同一行)中插入 1,否则为 0。

Someone would be so kind to say me where I was wrong.有人会很友善地告诉我我哪里错了。

Thanks in advance.提前致谢。

Francesco弗朗切斯科

Name_FD <- read.table( text = "Column_A   Column_B       Column_C    Column_D
Element1  8808864430  88440000011863    Text1
Element2  8808877431  88455000045863    Text2
Element3  8808886677  88447800011865    Text3
Element4  8808888830  88455000045867    Text4
Element5  8808888830  88440000011869    Text5
Element6  8808888830  88455000045810    Text6
Element7  8808889977  88447800011865    Text3
Element7  8808889977  88447800011865    Text3", header = TRUE)

library(tidyverse)
Name_FD %>% mutate( Column_X = ifelse( Column_B == lead( Column_B ), 1, 0 ) )
#   Column_A   Column_B    Column_C Column_D Column_X
# 1 Element1 8808864430 8.84400e+13    Text1        0
# 2 Element2 8808877431 8.84550e+13    Text2        0
# 3 Element3 8808886677 8.84478e+13    Text3        0
# 4 Element4 8808888830 8.84550e+13    Text4        1
# 5 Element5 8808888830 8.84400e+13    Text5        1
# 6 Element6 8808888830 8.84550e+13    Text6        0
# 7 Element7 8808889977 8.84478e+13    Text3        1
# 8 Element7 8808889977 8.84478e+13    Text3       NA

I think there is a much simpler way of doing this :)我认为有一种更简单的方法可以做到这一点:)

library(dplyr)

Name_FD %>% 
  mutate(Column_X = ifelse(Column_B == lead(Column_B), 1, 0)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 R错误:`row.names < - 。data.frame`(`* tmp *`,value = value)出错 - R error: Error in `row.names<-.data.frame`(`*tmp*`, value = value) R中的mlogit.data - 'row.names < - 。data.frame`中的错误(`* tmp *`,value = c(“ - mlogit.data in R - error in 'row.names<-.data.frame`(`*tmp*`, value = c(" R `$&lt;-.data.frame`(`*tmp*`, "newCol", value = "categories") 中的错误:替换有 1 行,数据有 0 - R Error in `$<-.data.frame`(`*tmp*`, "newCol", value = "categories") : replacement has 1 row, data has 0 R studio `$&lt;-.data.frame`(`*tmp*`) 中的错误:替换有 1 行,数据有 0 - R studio Error in `$<-.data.frame`(`*tmp*`) : replacement has 1 row, data has 0 R使用敏感性包的tell时,`row.names &lt;-。data.frame`(`* tmp *`,value = value)出错 - R Error in `row.names<-.data.frame`(`*tmp*`, value = value) while using tell of the sensitivity package 将data.frame转换为矩阵(R),rownames()错误 - data.frame into matrix (R) , rownames() error R Shiny 中的 dataTableProxy 到 data.frame 错误 - dataTableProxy to data.frame error in R Shiny R:“ [.. data.frame”中的错误和“未使用的参数” - R: “Error in `[.data.frame ” and “unused arguments” R中的data.frame - data.frame in R 将R data.frame强制转换为nz.data.frame时出错 - Error in coercing R data.frame to a nz.data.frame
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM